我可以避免使用 `sudo` 来备份 root 拥有的文件吗?

我可以避免使用 `sudo` 来备份 root 拥有的文件吗?

我用来rsync备份一组文件/etc。 “源”文件位于ext4文件系统上,“目标”是ext4USB 拇指驱动器上的分区。我的咒语与此类似:

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]  

我认为这是因为a中的选项rsync保留了我正在备份的文件的所有权(根),因此需要根权限才能完成rsync的操作。

在 下运行时,此rsync操作成功完成sudo,但我需要将其设置为一项cron作业,并且sudo在 a 中使用crontab会带来我想避免的问题(密码存储)。

另一种可能性可能是在备份期间更改 root 拥有的文件的所有权(使用该chown=USER:GROUP选项)rsync。我没有尝试过,因为我想到,即使它在没有 的情况下也能工作sudo,如果需要备份,所有权也必须恢复。

我已经为这个问题苦恼了大半天,并且厌倦了与rsync无数的选择争论。所以 - 我的问题是这样的:

我怎样才能避免使用sudo来备份文件/etc而不犯更糟糕的情况博吉

答案1

设置一个根 cron 作业然后脚本无论如何都会以 root 身份运行。要访问根 crontab,请运行sudo crontab -e.

相关内容