如何使用 rsync 在 Debian Stretch 上执行近乎“完整系统”的备份?

如何使用 rsync 在 Debian Stretch 上执行近乎“完整系统”的备份?

我已经编译并安装了时光倒流对运行 Debian Stretch(内核 4.90.0-8-amd64)的台式计算机执行自动、完整的系统备份。回到过去rsync在幕后使用。当我单击按钮后运行完整系统备份时,Modify for Full System Backup它会抛出一些有关符号链接和其他文件复制时出现问题的错误。

我决定找出传递给 所需的确切选项rysnc,以便我可以更好地控制 Back In Time 执行备份的方式。我想备份驱动器上的所有内容,除了:

  • /家/*
  • /选择/*
  • /媒体/*
  • 不应包含在备份中的任何其他系统文件

这是我认为我需要运行的命令,但我不确定它是否完全正确。您能看出我提出的rsync命令有什么问题吗?

rsync -rptgoEAXl --safe-links --inplace -F --exclude /opt/* --exclude /home/* --exclude /media/* --exclude /tmp/* --exclude /var/tmp/* --exclude /var/backups/* --exclude /etc/mtab --exclude /proc/* --exclude /run/* --exclude *~ --exclude [Tt]rash* --exclude /dev/* --exclude lost+found/* --exclude .Private / /media/username/USB/my_backup_folder

笔记:我读过了这个问题,但它不适合我的需求,因为它使用ddand not rsync.

附:我的备份驱动器是外部 USB 磁盘,并且格式化为exfat分区gpt。稍后我将重新制作备份驱动器以在分区ext4上使用gpt,但在处理好此备份之前我无法这样做。有点像陷阱22。

更新

添加了解决方案,请参见下文。

答案1

通过反复试验、阅读这另一个问题,并阅读了手册页,rsync我能够让它工作。当 stackexchange.com 允许时,我会发布正确的解决方案。现在这就是我所做的:

  1. 使用了格式化为 的不同外部 USB 驱动器ext4,以便复制文件权限和扩展属性。
  2. 使用以下命令:

rsync -rtDHh --checksum --links -A -X -pEgo --info=progress2 --no-i-r --delete --delete-excluded -v --chmod=Du+wx --exclude="/root/.local/share/backintime" --exclude=".local/share/backintime/mnt" --exclude=".gvfs" --exclude=".cache/*" --exclude=".thumbnails*" --exclude="[Tt]rash*" --exclude="*.backup*" --exclude="*~" --exclude=".dropbox*" --exclude="/proc/*" --exclude="/sys/*" --exclude="/dev/*" --exclude="/run/*" --exclude="/etc/mtab" --exclude="/var/cache/apt/archives/*.deb" --exclude="lost+found/*" --exclude="/tmp/*" --exclude="/var/tmp/*" --exclude="/var/backups/*" --exclude=".Private" --exclude="/opt" --exclude="/home" --exclude="/media" --include="/" --include="/**" --exclude="*" / "/media/username/USB/full-system-backup/"

相关内容