rsync IP múltiplo usando script bash?

2

Estou tentando usar o rsync para sincronizar arquivos remotos com o servidor local. Funciona muito bem, mas eu quero fazê-lo em vários servidores remotos para sincronizar diariamente.

sshpass -p "xyz" rsync -avz [email protected]:BrandStIN/ /home/lanein1/BrandStIN/
sshpass -p "xyz" rsync -avz [email protected]:MarySt/ /home/lanein1/MarySt/
sshpass -p "xyz" rsync -avz [email protected]:IWM/ /home/lanein1/IWM/

Eu tenho 10 números IP que eu tenho que rsync diariamente para verificação, como eu posso fazer isso usando o script BASH. Para que eu possa automatizar essa tarefa usando o cron. Eu quero apenas script BASH.

Estou impressionado aqui. Tenho todos os endereços IP em um arquivo de texto e não sei como chamar o arquivo no rsync com suas senhas.

#!/bin/bash
# Program name: rsyncall.sh
date
cat /path/to/IP.txt |  while read output
do........
    
por pretyv5 10.06.2015 / 13:03

1 resposta

1

Eu tive um problema semelhante com dois servidores. Para enfatizar o sistema o mínimo possível, uso nice e ionice

#!/bin/bash
while IFS= read ip; do 
    /usr/bin/nice -n 19 \
    /usr/bin/ionice -c 3 \
    /usr/bin/rsync --delete --delete-excluded --password-file=/home/aboettger/.rsync_pwd  -av /home/aboettger/Music rsync://$ip/media;
done < host_names

Adaptado para você

#!/bin/bash
while IFS= read ip; do 
    rsync --password-file=rsync_pwd_file -avz rsync://$ip/BrandStIN /home/lanein1/BrandStIN
    rsync --password-file=rsync_pwd_file -avz rsync://$ip/MarySt /home/lanein1/MarySt
    rsync --password-file=rsync_pwd_file -avz rsync://$ip/IWM /home/lanein1/IWM
done < host_names

Conteúdo de host_names

% cat host_names
192.168.2.40
192.168.2.41
    
por A.B. 15.08.2015 / 19:39