rsync从csv文件传递源

时间:2015-06-05 14:26:11

标签: linux rsync

我正在尝试使用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/

我希望在csv文件中将所有ip地址和密码放在一起,并希望运行rsync。 如何传递csv文件数据并在cron作业中执行rsync。

1 个答案:

答案 0 :(得分:0)

尝试使用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

的行中