5

特定のディレクトリとファイルタイプを除外して、ホームおよびその他の重要なディレクトリを外部ドライブにバックアップするためのスクリプトを作成しようとしています ( --exclude)。ファイルタイプまたはディレクトリを除外リストに追加する場合に備えて、除外されたファイルもバックアップで削除する必要があります ( --delete-excluded)。

また、何か重大な問題が発生した場合に備えて、削除されたものもすべてバックアップする必要があります ( --backup --backup-dir=rsync/backup)。

私はこれから始めています:

#!/usr/bin/env bash

PATH_PWD="`pwd`"
PATH_HOME=~
SRC="/home/redsandro"
PATH_TARGET="/media/redsandro/MyBook 4TB/backup/`hostname`"
PATH_BIN="${SRC}/bin"
EXCL_FROM="${PATH_BIN}/rs-backup-external.sh.exclude.txt"
DATE="`date +%Y-%m-%d`"

OPTS="-ahl --update --del --delete-excluded --force --ignore-errors --progress --stats --exclude-from=$EXCL_FROM --log-file=~/rsync/rsync.$DATE.log"
OPTS="$OPTS --backup --backup-dir=rsync/backup/${DATE}"
#OPTS="$OPTS --dry-run"

echo Backing up $SRC to $PATH_TARGET...
echo  
sudo rsync $OPTS "$SRC/" "${PATH_TARGET}${SRC}"

さて、明らかに、--delと競合し--backup --backup-dir=rsync/backupます。このディレクトリを削除対象から除外できますか? または、おそらくこれを行う簡単な方法はありますか?

私の目標は、すべてのコンピューターで実行できるスクリプトを作成することです。一部はコンピューター固有のディレクトリに同期し、別の部分 (ドキュメント、写真) はグローバル ディレクトリに同期します。

4

2 に答える 2