我想从一台服务器转移到另一台服务器而且我不会丢失特殊的日志文件(例如mail.logs),所以想要使用--files-from选项rsync文件。但我无法在文件列表中使用像*或{0..9}这样的量词。
rsync -avR --files-from=/backup/filelists/filelist1.txt / $DESTSRV:"$DESTPATH"
例如我想rsync所有邮件服务器日志文件
/var/log/mail.log
/var/log/mail.log.1
/var/log/mail.log.2.gz
/var/log/mail.log.3.gz
/var/log/mail.log.4.gz
但是在 /backup/filelists/filelist1.txt 中我无法使用
/var/log/mail*
或
/var/log/mail.log.{2..10}.gz
我收到以下错误
rsync: link_stat "/var/log/mail*" failed: No such file or directory (2)
有人知道我的问题的解决方案吗?
答案 0 :(得分:1)
在搜索并尝试后,我找到了另一种适合我的解决方案:
cat /backup/fileslists/filelist1.txt | { while read line; do rsync -avzR $line "$DESTSRV":"$DESTPATH"/; done; }
此代码逐行读取输入文件并将其与rsync同步。在这种情况下,我可以使用任何量词:)。