scp 不排除目录,并且 rsync 不写入/通过管道传输到图像文件或 .tar (我可以找到)
我有远程服务器,我想为其刻录快速备份。我只需要排除 /run/、/sys/ 和 /dev/ 文件夹,这样实时设备在备份时就不会崩溃。
如果可能的话,我还试图避免创建循环设备。
写入原始图像文件是理想的选择。
什么是一个好的 1 行脚本,可以将远程备份数据写入映像文件,同时排除目录?
答案1
在远程计算机上使用 tar 并将其写入标准输出,然后通过将 ssh 的输出重定向到本地文件将数据带回本地计算机。毫无疑问,您必须微调下面显示的 tar 选项,但它应该可以满足您的要求:
ssh "root@$REMOTEHOST" tar --exclude /run --exclude /dev --exclude /sys --exclude /proc cvf - / > /backups/REMOTEHOST.$(date +%Y%m%d.%H%M%S)
请务必使用“tar tvf”等测试图像文件。抱歉,这将使其至少有两行,但如果您没有测试备份,那么您就没有真正进行备份。