我rsync
用来备份一组文件/etc
。“源”文件位于ext4
文件系统上,“目标”是ext4
USB 拇指驱动器上的分区。我的咒语是这样的:
rsync -av --recursive --files-from=my/etcfiles /etc ./my/backup/etc/
不出所料,我收到了错误,包括:
rsync: failed to set times on "/my/backup/etc/somefile": Operation not permitted (1)
rsync: mkstemp "/my/backup/etc/somefile.erGL4a" failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1196) [sender=3.1.2]
我认为这是因为保留了我正在备份的文件的所有权(root)的a
选项,因此需要 root 权限才能完成的操作。rsync
rsync
此rsync
操作在运行时成功完成sudo
,但我需要将其设置为cron
作业,并且sudo
在 a 中使用crontab
会带来我想避免的问题(密码存储)。
另一种可能性可能是在备份chown=USER:GROUP
期间更改根拥有文件的所有权(使用该选项) 。rsync
我没有尝试过,因为我突然想到,即使它在没有sudo
的情况下工作,如果需要备份,也必须恢复所有权。
一天的大部分时间里,我一直在为此烦恼,并且越来越厌倦与rsync
无数选择的争吵。所以 - 我的问题是:
我怎样才能避免在不提交更糟糕的sudo
情况下使用来备份文件? /etc
设置一个root cron 作业,然后脚本无论如何都会以 root 身份运行。要访问根 crontab,请运行
sudo crontab -e
.