与远程服务器上的rsync同步查找

时间:2019-04-23 13:20:46

标签: shell

我正在尝试将3天内更新的文件(版本3.1.2)从远程服务器同步到映射到本机(另一台服务器)的驱动器上。 rsync命令无法正常工作:

sshpass -p "password" rsync -rltgoDv admin@10.98.9.34:/results/analysis/output/Home/*/plugin_out/coverageAnalysis_out.*/*.xls /home/balasat/mdl3/Test

查找也可以在没有rsycn命令的情况下工作:

sshpass -p "password" ssh admin@10.98.9.34 find /results/analysis/output/Home/*/plugin_out/coverageAnalysis_out.*/*.xls -type f -mtime -5

但是,当两者结合在一起时,rsync找不到文件。我尝试了几种方法:

shpass -p "password" ssh admin@10.98.9.34 find /results/analysis/output/Home/*/plugin_out/coverageAnalysis_out.*/*.xls -type f -mtime -5 -exec rsync {} /home/balasat/mdl3/Test \;

错误:查找:-exec缺少参数

sshpass -p "password" ssh admin@10.98.9.34 find /results/analysis/output/Home/*/plugin_out/coverageAnalysis_out.*/*.xls -type f -mtime -5 > admin@10.98.9.34:/tmp/rsyncfiles
sshpass -p "password" rsync -rltgoDv --files-from=/tmp/rsyncfiles admin@10.98.9.34: /home/balasat/mdl3/Test

错误:没有这样的文件或目录, 即使列出了正确的路径。

请提出解决方法。

谢谢

2 个答案:

答案 0 :(得分:0)

为什么不让rsync查找文件?选中https://superuser.com/questions/775140/how-can-i-rsync-a-set-of-subdirectories 或尝试用引号添加引号

 shpass -p "password" ssh admin@10.98.9.34 'find /results/analysis/output/Home/*/plugin_out/coverageAnalysis_out.*/*.xls -type f -mtime -5 -exec rsync {} /home/balasat/mdl3/Test'

如果您运行ssh-copy-id admin@10.98.9.34并按Enter键两次,则不再需要shpass。选中https://linuxize.com/post/how-to-setup-passwordless-ssh-login/

答案 1 :(得分:0)

您可以改用lsyncd在文件/目录更改后自动rsync。