rsync to back up a set of files in
/etc. The 'source' files are on an
ext4 filesystem, and the 'destination' is an
ext4 partition on a USB thumb drive. My incantation is similar to this:
rsync -av --recursive --files-from=my/etcfiles /etc ./my/backup/etc/
Not unexpectedly, I get errors with this including:
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]
I think this is because the
a option in
rsync preserves ownership (root) of the files I'm backing up, and so root privileges are required to complete
rsync operation completes successfully when run under
sudo, but I need to set this up as a
cron job, and using
sudo in a
crontab brings an issue (password storage) I'd like to avoid.
Another possibility may be changing ownership of the root-owned files (using the
chown=USER:GROUP option) during the
rsync backup. I've not tried that because it occurs to me that, even if it works without
sudo, the ownership would have to be restored if the backups were ever needed.
I've been stewing over this for the better part of a day now, and growing weary of wrangling with
rsync's myriad options. So - My question is this:
How can I avoid using
sudo to make backups of files in
/etc without committing an even worse bodge?