![如何使用 rsync 在 Debian Stretch 上执行近乎“完整系统”的备份?](https://linux22.com/image/12020/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20rsync%20%E5%9C%A8%20Debian%20Stretch%20%E4%B8%8A%E6%89%A7%E8%A1%8C%E8%BF%91%E4%B9%8E%E2%80%9C%E5%AE%8C%E6%95%B4%E7%B3%BB%E7%BB%9F%E2%80%9D%E7%9A%84%E5%A4%87%E4%BB%BD%EF%BC%9F.png)
我已经编译并安装了时光倒流对运行 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
笔记:我读过了这个问题,但它不适合我的需求,因为它使用dd
and not rsync
.
附:我的备份驱动器是外部 USB 磁盘,并且格式化为exfat
分区gpt
。稍后我将重新制作备份驱动器以在分区ext4
上使用gpt
,但在处理好此备份之前我无法这样做。有点像陷阱22。
更新
添加了解决方案,请参见下文。
答案1
通过反复试验、阅读这另一个问题,并阅读了手册页,rsync
我能够让它工作。当 stackexchange.com 允许时,我会发布正确的解决方案。现在这就是我所做的:
- 使用了格式化为 的不同外部 USB 驱动器
ext4
,以便复制文件权限和扩展属性。 - 使用以下命令:
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/"