[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
- script rsync,
Marcellus <=