Bom dia Leandro, Acho que isso atende sua necessidade:
#!/bin/bash NOFILES="/etc/exclude_files.txt" RSYNC="/usr/ bin/rsync -hravz --exclude-from= $NOFILES --delete" SSH='/usr/local/bin/ssh -o UserKnownHostsFile= /dev/null -o StrictHostKeyChecki ng=no' DATA=`date +%d-%m-%Y` LOG="/tmp/rsync- $DATA.log" admin="[email protected]" from="[email protected]" ping_count=2 lista_cliente="192.168.0.1 192.168.1.1 192.168.2.1 192.168.3.1 192.168.4.1" for cliente in $lista_cliente do if ping $cliente -c $ping_count > /dev/null 2>&1 # verifica se está respondendo e tenta conectar then echo "########### ######### ## $cliente ############ ######### #" >> $LOG echo -e $DATA" Status OK\tEstabelecendo conexão com servidor $(echo $cliente | tr -s [:lower:] [:upper:])!" >> $LOG $RSYNC -e "$SSH" [email protected]:/diretorio /backups/cliente/ >> $LOG $RSYNC -e "$SSH" [email protected]:/diretorio2 /backups/7box/ cliente/ >>$LOG echo "########### ######### ## $cliente : FIM ############ #####" >> $LOG else # retorna falha se não responder ao ping e nem tenta conectar echo -e $DATA" Falha!\tNão é possível conectar ao servidor $(echo $cliente | tr -s [:lower:] [:upper:])!" >> $LOG fi done Ats. Wilson Varaschin ________________________________ De: Leandro César <[email protected]> Para: [email protected] Enviadas: Terça-feira, 8 de Setembro de 2009 10:20:51 Assunto: [shell-script] RSYNC Bom dia a todos ! Tenho um script de sincronismo com aluguns clientes usando o RSYNC. Quero dar uma incrementada nesse script porém depois de alguns testes não obtive sucesso. Segue um pedaço do script: #!/bin/sh ============ ========= ========= ========= ========= ========= ========= ========= ========= ========= ========= ===== ############ ### # VARIAVEIS ############ ### NOFILES="/etc/ exclude_files. txt" RSYNC="/usr/ bin/rsync -hravz --exclude-from= $NOFILES --delete" SSH='/usr/local/ bin/ssh -o UserKnownHostsFile= /dev/null -o StrictHostKeyChecki ng=no' DATA=`date +%d-%m-%Y` LOG="/tmp/rsync- $DATA.log" admin="em...@email. com.br" from="em...@email. com.br" # gw-cliente echo "########### ######### ## GW-CLIENTE ############ ######### #" >> $LOG $RSYNC -e "$SSH" r...@cliente. com.br:/diretorio /backups/cliente/ >> $LOG $RSYNC -e "$SSH" r...@cliente. com.br:/diretorio2 /backups/7box/ cliente/ >> $LOG echo "########### ######### ## GW-CLIENTE : FIM ############ #####" >> $LOG echo " " >> $LOG # gw-cliente 2 echo "########### ######### ## GW-CLIENTE2 ############ ######### #" >> $LOG $RSYNC -e "$SSH" r...@cliente2. com.br:/diretorio /backups/cliente2/ >> $LOG $RSYNC -e "$SSH" r...@cliente2. com.br:/diretorio2 /backups/7box/ cliente2/ >> $LOG echo "########### ######### ## GW-CLIENTE2 : FIM ############ #####" >> $LOG echo " " >> $LOG echo "########### #####ENVIA E-MAIL###### ######### ######### ####" /etc/mail.pl $admin $from "RSYNC REALIZADO EM $DATA !" "`cat $LOG`" Coloquei esses de exemplo mas faço esse RSYNC em outros clientes. Minha dúvia é o seguinte: Gostaria de colocar no log caso o computador que estou tentando fazer o sincronismo não responda ou demore a responder. Como posso fazer esse procedimento e até melhorar o Script. -- -- []´s Leandro César [As partes desta mensagem que não continham texto foram removidas] ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
