rsync 排除 find 命令给出的文件

rsync 排除 find 命令给出的文件

OS=lubuntu 20.04。我将升级到 22.04(不是问题)我想备份我的 $HOME,但有些文件不属于我的用户

是否可以将 find 的输出提供给 rsync 并让他排除它?

我的英语欠缺:

find $HOME -not -user $USER
/home/alex/initrd.img-5.3.0-53-generic
/home/alex/backup/restricted.pref
skip

我可以以某种方式将其以这种形式提供给 rsync 吗?比如从文件中?

rsync someoption --exclude /path/to my exclude file

我不清楚如何排除文件和文件夹,但是如果没有必要的话,我懒得更改我的备份脚本。

答案1

您可以通过将输出重定向find到文件分两步完成:

find $HOME -not -user $USER > myExcludeFiles

rsync someoption --exclude-from=myExcludeFiles

man rsync

--exclude-from=FILE     read exclude patterns from FILE

myExcludeFiles从 运行时使用完整路径名cron

相关内容