linux - rsync从csv文件传递源

标签 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/

我希望将所有 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/

相关文章:

linux - 如何修复/usr/bin/env agrument 处理?

linux - 默认情况下,如何将帮助结果通过管道传递给 less?

linux - 从 linux shell 脚本发送邮件

node.js - 使本地文件夹与远程 FTP 文件夹保持同步

ssh - 通过 SSH 将远程文件同步到我的本地机器,在本地使用 sudo 权限和我的个人 SSH key

linux - 使用 popen 创建的 FILE 上的 fclose 发生了什么?

java - JAVA中的多线程

linux - 期望脚本中的rsync

bash - Cygwin 中的 Rsync 命令失败

maven - 创建 '--rsyncable' maven 程序集