完整系统 Linux 通过 ssh 使用 rsync 备份到其他计算机

Full System Linux backup with rsync via ssh to other computer

我想像这个线程一样做一个完整的系统备份:

https://askubuntu.com/questions/7809/how-to-back-up-my-entire-system

...但是,不是通过创建 tarball,而是通过 rsync - 以及通过本地网络通过 ssh 从一台计算机到另一台计算机。我已经按照这些步骤操作,原则上,它在某些时候工作正常,可能是文件权限发挥了作用。

我已经设置了rsync如下:

rsync -aAXv userOnSource@sourceIP:/ /home/MYBACKUPFOLDER

下次我会排除某些文件夹,如 /sys 和 /proc(这是应该的),但问题在于,还有一些文件夹,例如/etc/usr/share 抛出权限被拒绝的错误并且不会被复制。

我的问题是: 我如何设置 rsync 以便它复制所需的所有内容,并且假设我用相同的 linux 发行版(在我的例子中是 ArchLinux)更新我的旧计算机并创建相同的用户,我如何保留文件属性以及当我将备份复制回新安装的机器时的权限?

专业问题:如果我还有第三台机器可以将备份发送到,还需要什么?

谢谢!

这是我的脚本,仅供参考。

sudo rsync -avAX --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/swapfile","/home/*/.thumbnails/*","/home/*/.cache/*"} / /mnt/rootfs

建议考虑以下步骤,

  1. 尽可能disk/partition克隆;
  2. 运行源PC上的上述脚本,否则SSH配置可能会导致root用户访问问题;
  3. 尽可能备份到挂载的USB硬盘或本地文件夹(必须排除),稍后您可以选择在传输前压缩它。