| Backup incremental com RSYNC |
|
|
|
|
Utilizado em servidores GNU/Linux baseados em CentOS 5.2 ############################################ #!/bin/bash ## Backup Incremental com RSYNC + SSH ## Editado por Guto <http://gmedeiros.net> em 08/07/2009 ## Versao 2.2 ############################################ date=`date +%y"."%m"."%d` validade=8 log="${backup}/${date}.log" backup="/aondeSeraGuardadoOBackup" exceto="arquivosDiretoriosSembackup" backupAtual="${backup}/${date}" origem="/diretorio1 /diretorio2 /diretorio3" echo "########## Iniciando Backup em `date` ##########" > ${log} ## Criando diretorio atual if [ -e ${backup}/ultimo ]; then backupAnterior=`cat ${backup}/ultimo`; if [ -d ${backupAnterior} ]; then echo "########## Backup anterior encontrado, copiando arquivos ##########" >> ${log} cp -la ${backupAnterior} ${backupAtual} >> ${log} 2>&1 fi ## Condicao de existencia do diretorio anterior else echo "########## Backup nao existe, criando backup ##########" >> ${log} mkdir ${backupAtual} >> ${log} 2>&1 fi ## Executando backup for dir in ${origem}; do echo "########## Iniciando backup de ${dir} ##########" >> ${log} rsync -auv --progress --stats --exclude=${exceto} --delete ${dir} ${backupAtual} >> ${log} 2>&1 done ## Registrando data do backup atual echo ${backupAtual} > ${backup}/ultimo ## Verificando a validade do backup for dir in `find ${backup} -maxdepth 1 -type d -mtime +${validade}`; do echo "########## Apagando backup fora da validade ${dir} ##########" >> ${log} rm -rf ${dir} >> ${log} 2>&1 done |




