我想要一个脚本,它可以定期自动将选择的系统文件备份到我的 NAS,我在我的 fstab 中有它,以便在启动时挂载 cifs。根据备份中包含哪些文件夹的响应?,我将以下脚本放在一起备份到我的 NAS 上的“系统文件”文件夹:
#!/bin/bash
sudo rsync -aAXv --progress --delete /etc /NAS/System\ Files/
sudo rsync -aAXv --progress --delete /opt /NAS/System\ Files/
sudo rsync -aAXv --progress --delete /root /NAS/System\ Files/
sudo rsync -aAXv --progress --delete /snap /NAS/System\ Files/
sudo rsync -aAXv --progress --delete /usr/local /NAS/System\ Files/usr/
sudo rsync -aAXv --progress --delete /var /NAS/System\ Files/
一旦我解决了这些错误,我打算设置一个 cron 作业来安排这个。
在只测试了这段代码的 /etc 行之后,我注意到有很多权限错误,例如:
rsync: symlink "/NAS/System Files/etc/rc0.d/K01bluetooth" -> "../init.d/bluetooth" failed: Permission denied (13)
在这个答案中,用户表示“备份它们(根目录中的某些文件)将毫无意义,甚至可能有害。”
有没有一种安全的方法可以在没有任何错误或不损害我的系统的情况下完成此操作?任何帮助是极大的赞赏。
仅供参考,我知道我可以使用 Clonezilla 之类的程序创建磁盘映像,但我更喜欢使用不必手动维护的解决方案。另外,不确定 Timeshift 是否会做我想做的事情,但由于我在 root 上运行 ZFS,Timeshift 给了我“找不到设备”错误,因为ZFS 目前不受支持(截至 Timeshift 20.03)。
我已经使用 Apt-Clone 将我的应用程序、存储库和密钥备份到我的主文件夹,并将 Duplicity 设置为将我的主文件夹备份到我的 NAS。
参考:
如何设置增量备份以在 Ubuntu 18.04 上包含我的主题和自定义?
如何备份设置和已安装软件包列表 备份
Ubuntu 机器最简单的 NAS 设置是什么?
花了几天的时间,但我能够通过更改备份命令和更改 NAS 上的设置来解决我的问题。
这是我更新的脚本,我为它创建了一个 cron 作业:
这是我使用的标志:
为了解决我在运行 rsync 时遇到的过多的符号链接错误,在我的 Synology 上,我必须去
Control Panel / File Services / SMB / Advanced Settings
并且必须选中“允许共享文件夹中的符号链接”旁边的框。如果您觉得这有帮助,请考虑投票。谢谢!