我正在尝试使用 rsync 将远程文件与本地服务器同步。 它工作得很好,但我想在多个远程服务器上进行日常同步。
lanein2@FTP-Stager:/home/toor$ sshpass -p "xyz" rsync -avz lanein1@xx.xxx.xxx.xxx:BrandStIN/ /home/lanein2/BrandStIN/
lanein2@FTP-Stager:/home/toor$ sshpass -p "xyz" rsync -avz lanein1@yy.yyy.yyy.yyy:Brand1/ /home/lanein2/Brand1/
lanein2@FTP-Stager:/home/toor$ sshpass -p "xyz" rsync -avz lanein1@aa.aaa.aaa.aaa:Brand1/ /home/lanein2/Brand1/
我希望将所有 IP 地址及其密码保存在 csv 文件中,并希望运行 rsync 。 如何传递 csv 文件数据并在 cron 作业中执行 rsync。
最佳答案
尝试使用 bash 脚本,就像这个(不能按原样工作,只是一个起点)
#!/bin/bash
# define password for each of the servers, maybe use arrays or something like that
# also, define paths for each server (if they change)
for i in 192.168.0.1 192.168.0.2; do
# here too, you can use an array for ip addresses
sshpass -p $PASSWORD_OF_SERVER_1 rsync -avz lanein1@$i:$SERVER1_PATH/ /home/lanein2/$SERVER1_PATH/
done
然后用 cron 引用它(例如将其放在 /etc/cron.daily
行中)
关于linux - rsync从csv文件传递源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30669051/