Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- export LC_ALL=C
- # Katalog Docelowy
- BACKUP_DIR=/volume1/NetBackup/laptop
- # Katalog źródłowy
- SOURCE_DIR=/home/kustran
- IP_ADDR=pl-kustran
- # Ilość przechowywanych kopii (1 kopia dziennie)
- NUM_BACKUP=4
- # Plik logu
- LOG=$BACKUP_DIR/backup.log
- # Logujemy start backupu
- echo -n "Start: " > $LOG
- date >> $LOG
- cd $BACKUP_DIR
- # Jeżeli nie ma katalogu dla kopii to go tworzymy
- if [ ! -d $BACKUP_DIR ]
- then
- mkdir -p $BACKUP_DIR
- fi
- # Wywalamy najstarszy backup
- COUNT=0
- for i in $(find "$BACKUP_DIR" -maxdepth 1 -type d | sort -V);
- do
- if [ "$i" != "$BACKUP_DIR" ]
- then
- COUNT=`expr $COUNT + 1`
- if [ $COUNT -gt $NUM_BACKUP ]
- then
- echo "Deleting: $i" >> $LOG
- sudo rm -rf "$i"
- fi
- fi
- done
- # Pobieramy ostatni katalog backupu
- i=1
- while [ $i -le $NUM_BACKUP ];
- do
- #statements
- LAST_BACKUP=$(date +%u -d "$i day ago")
- if [ -d $BACKUP_DIR/$LAST_BACKUP ]
- then
- echo "Found newest backup: $LAST_BACKUP" >> $LOG
- break
- fi
- i=`expr $i + 1`
- done
- CURRENT_BACKUP=$(date +%u)
- if [ ! -d $BACKUP_DIR/$CURRENT_BACKUP ]
- then
- mkdir -p $BACKUP_DIR/$CURRENT_BACKUP
- fi
- IGNORE_DIR="--exclude=*/sqlcache/* --exclude=*/templates_c/* --exclude=kustran/.cache/* --exclude=kustran/backup/swap --exclude=kustran/VirtualBox*"
- echo "Backup dir = $BACKUP_DIR/$CURRENT_BACKUP" >> $LOG
- cd $BACKUP_DIR/$CURRENT_BACKUP
- sudo ping -c 2 $IP_ADDR || exit 1
- rsync -avzh --progress $IGNORE_DIR --link-dest=$BACKUP_DIR/$LAST_BACKUP $IP_ADDR:$SOURCE_DIR $BACKUP_DIR/$CURRENT_BACKUP --del 2>&1 >> $LOG
- cat $LOG
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement