#!/bin/bash
BACKUP_PLACE="/usr/backup/"
PID_FILE="/tmp/.cron.backup.pid"
LOG_FILE="/root/txt/cron.backup.log"
TEMP="`date +%m%d.%H%M`_$$"
BLAD="false"
alias ls='ls'
unalias ls
if [ -e $PID_FILE ]; then
echo "$TEMP: cron.backup pracuje w tle. Kończę działanie." >> $LOG_FILE
exit
else
echo "###" >> $LOG_FILE
echo "$TEMP: cron.backup zaczął archiwizację" >> $LOG_FILE
echo "$TEMP: o czasie: `date`" >> $LOG_FILE
echo "$$" > $PID_FILE
echo "###" >> $LOG_FILE
fi
cd $BACKUP_PLACE
mv *.tgz *.tar.bz2 old/
################################
#for PLACE in /root /etc ;
for PLACE in /root /etc /usr/local/etc /home/nthx/cvs_repo /home/nthx;
do
echo "$TEMP: tar $PLACE" >> $LOG_FILE
nice tar cf `echo $PLACE | tr '/' '_'`.$TEMP.tar.bz2 $PLACE/.[a-zA-Z0-9]* $PLACE/* \
--exclude=/etc/shadow \
--exclude=/etc/shadow- \
--exclude=/home/nthx/mnt \
--exclude=/home/nthx/adv/real-database \
--exclude=/home/nthx/images \
--exclude=/home/nthx/music \
--exclude=/usr/local/cvs_repo/\!trash\! \
--use-compress-program=bzip2 || BLAD="true";
done
if [ "$BLAD" == "true" ]; then
#nie rob nic
echo "$TEMP: Błąd podczas przetwarzania danych" >> $LOG_FILE
else
#mozesz usunąć pliki stare
echo "$TEMP: rm -rf $BACKUP_PLACE/old/*.tar.bz2" >> $LOG_FILE
rm -rf old/*.tar.bz2 old/*.tgz
fi
echo "$TEMP: Dane zarchiwizowane." >> $LOG_FILE
echo "$TEMP: Oto ls -l $BACKUP_PLACE" >> $LOG_FILE
ls -l $BACKUP_PLACE >> $LOG_FILE
rm -rf $PID_FILE
echo "$TEMP:`date +%m%d.%H%M` cron.backup skończył archiwizację" >> $LOG_FILE