Enviado em 09/07/2014 - 11:16h
Bom dia,
tenho um script que executa vários find um deles localiza e compacta os arquivos para um tar.gz outro exclui os arquivos que já foram compactados, pois se estão compactados não preciso mais deles :D
Se eu colocar os dois finds um abaixo do outro, primeiro o que compacta e depois o que exclui... ele cria um arquivo tar.gz em branco. e exclui os arquivos.
Se eu separo em 2 blocos como esta atualmente, ele compacta os arquivos mas não apaga os arquivos.
algem tem alguma ideia do que estou fazendo errado??
segue o script
tenho um script que executa vários find um deles localiza e compacta os arquivos para um tar.gz outro exclui os arquivos que já foram compactados, pois se estão compactados não preciso mais deles :D
Se eu colocar os dois finds um abaixo do outro, primeiro o que compacta e depois o que exclui... ele cria um arquivo tar.gz em branco. e exclui os arquivos.
Se eu separo em 2 blocos como esta atualmente, ele compacta os arquivos mas não apaga os arquivos.
algem tem alguma ideia do que estou fazendo errado??
segue o script
##!/bin/bash
#Script de backup cdr
#2013-12-26 data de criação
#2014-06-27 ultima correção
#var
SHELL=/bin/sh
PATH=/sbin:/usr/sbin:/usr/bin:/bin
DIR=/var/boreal/cdr
BKPFILE=cdr-$(date +%W).tar.gz
CSV_LIMIT=7 #7 dias
BKP_LIMIT=56 #8 SEMANAS
LOG=/usr/local/boreal/bin/bkp/bkp-CDR.log
echo "------------INCICIANDO BACKUP------------" >> $LOG
echo `date +%Y-%m-%d` >> $LOG
bkp(){
echo "----------COPIAS----------" >> $LOG
for TNX in $(cat /usr/local/boreal/bin/bkp/tnx.txt)
do
DES=`echo $TNX | cut -f2 -d:`
A=`echo $TNX | cut -f3 -d:`
#localiza arquivos e compacta
echo "---$DES--$A---" >> $LOG
echo "Localizando arquivos antigos e compactando de $DIR/$DES" >> $LOG
find "$DIR"/"$DES" -name *.csv -mtime +$CSV_LIMIT | tar --files-from - -cvzpf "$DIR"/"$DES"/"$BKPFILE"
done
}
bkp
recicla(){
echo "----------EXCLUSAO----------" >> $LOG
for TNX in $(cat /usr/local/boreal/bin/bkp/tnx.txt)
do
#Excluindo os arquivos antigos
echo "---$DES--$A---" >> $LOG
echo "Localizando e excluindo aqruivos de backup com mais de $BKP_LIMIT dias" >> $LOG
find "$DIR"/"$DES" -name "cdr*" -mtime +$BKP_LIMIT >> $LOG
find "$DIR"/"$DES" -name "cdr*" -mtime +$BKP_LIMIT -exec rm -rf {} \;
sleep 1
echo "Apagando arquivos .csv com mais de $CSV_LIMIT dias" >> $LOG
find "$DIR"/"$DES" -name "*.csv" -mtime +$CSV_LIMIT >> $LOG
find "$DIR"/"$DES" -name "*.csv" -mtime +$CSV_LIMIT -exec rm -rf {} \;
done
}
recicla
echo "----------------FIM BACKUP---------------" >> $LOG