shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

script rsync


From: Marcellus
Subject: script rsync
Date: Fri, 10 Feb 2012 18:44:11 -0000
User-agent: eGroups-EW/0.82

Montei um script para pegar todos arquivos de um diretório de um server e jogar 
para um diretório local separando-os por data.
O problema é que a partir dos arquivos locais eu rodo uma aplicação java que 
processa estes arquivos, e imagino que quando estiver sincronizando um arquivo 
muito grande, minha aplicação java irá processar este arquivo antes dele ser 
sincronizado totalmente.

Um solução que pensei foi fazer o sincronismo colocando uma extensão ".tmp" no 
arquivo local, e após a finalização do sincronismo, retirar a extensão. Pois 
deste jeito eu trataria no java para não ler arquivos com extensão ".tmp".

Segue script abaixo:

log="backup.log"
#usuario@servidor:/origem;destino;velocidade
conf[1]="usr@srv:/app/ims/java-apps/CDR;/home/dsv1bea/sync/$(date +20%y%m%d"/" 
-d 'today');50;$(date +20%y%m%d -d 'today') "
conf[2]="usr@srv:/app/ims/java-apps/CDR;/home/dsv1bea/sync/$(date +20%y%m%d"/" 
-d 'yesterday');50;$(date +20%y%m%d -d 'yesterday') "

for CONFIG in ${conf[*]}
do

  origem=$( echo $CONFIG | cut -f1 -d";")
  dest=$( echo $CONFIG | cut -f2 -d";")
  veloc=$( echo $CONFIG | cut -f3 -d";")
  arquivo=$( echo $CONFIG | cut -f4 -d";")
  echo "$(date +%F-%X): Inicio do Processo de Sincronismo " >> $log
  echo "$(date +%F-%X): Origem = $origem " >> $log
  echo "$(date +%F-%X): Destino = $dest " >> $log
  echo "$(date +%F-%X): rsync --bwlimit=$veloc -Cravzp  $origem/$arquivo* 
$dest" >> $log
  rsync --bwlimit=$veloc -Cravzp  $origem/$arquivo* $dest >> $log
  echo "$(date +%F-%X): Fim do Processo de Sincronismo " >> $log

done 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]