我正在尝试制作一个脚本,用于将我的主目录和其他重要目录备份到外部驱动器,同时排除某些目录和文件类型(--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
. 我可以排除这个目录被删除吗?或者是否有更简单的方法来做到这一点?
我的目标是拥有一个可以在我的所有机器上运行的脚本,其中一部分同步到特定于计算机的目录,另一部分(文档、图片)同步到全局目录,因为无论如何它们都需要相同。