Este programa es una adaptacion de uno que me encontre en internet un día pero no se de quien es, por lo que con respeto le pido disculpas por usar su idea para adaptarla y colocarla aca, pero yo ya lo probe y funciona muy bien.
#!/bin/bash
DATE=`/bin/date +&F`
TMPDIRPARENT=”/tmp/backup”
TMPDIR=”/tmp/backup/$DATE”
ERRORLOG=”/tmp/backuperrors-$DATE.log”
BACKUPDIR=”/u/publicos/reportes”
RETENCION=”
ORIG=”\
/home/samuel/documentos \
/boot/vmlinuz \
/etc”
rm $ERRORLOG 2>/dev/null
if `test –d $BACKUPDIR`
then
mkdir –p $BACKUPDIR 2>>$ERRORLOG
fi
mkdir -p $TMPDIR 2>>$ERRORLOG
for DIR in $ORIG
do
cp –Rp $DIR $TMPDIR/ 2>>$ERRORLOG
done
cd $TMPDIRPARENT
tar zcvf $DATE.tar.gz $DATE/ 2>>$ERRORLOG
mv $DATE.tar.gz $BACKUPDIR 2>>$ERRORLOG
cd $BACKUPDIR
BCKCOUNT=`ls *.tar.gz | wc -w`
if `test $BCKCOUNT –gt $RETENCION 2>>$ERRORLOG `
then
TRASHFILE=`ls *.tar.gz | head –n 1 2>>$ERRORLOG`
rm $TRASHFILE 2>>$ERRORLOG
fi
rm –rf $TMPDIR
if `test –s $ERRORLOG `
then
OUTPUT=”-------- ERROR: MIRE $ERRORLOG PARA LOS DETALLES------------“
else
OUTPUT=”-------- BACKUP REALIZADO A SATISFACCIÓN ----------“
fi
0 5 * * * /usr/local/sbin/archivo.sh 1>/dev/null
Comentarios
Publicar un comentario