Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. export LC_ALL=C
  4.  
  5. # Katalog Docelowy
  6. BACKUP_DIR=/volume1/NetBackup/laptop
  7.  
  8. # Katalog źródłowy
  9. SOURCE_DIR=/home/kustran
  10. IP_ADDR=pl-kustran
  11. # Ilość przechowywanych kopii (1 kopia dziennie)
  12. NUM_BACKUP=4
  13.  
  14. # Plik logu
  15. LOG=$BACKUP_DIR/backup.log
  16.  
  17. # Logujemy start backupu
  18. echo -n "Start: " > $LOG
  19. date >> $LOG
  20. cd $BACKUP_DIR
  21.  
  22. # Jeżeli nie ma katalogu dla kopii to go tworzymy
  23. if [ ! -d $BACKUP_DIR ]
  24. then
  25. mkdir -p $BACKUP_DIR
  26. fi
  27.  
  28. # Wywalamy najstarszy backup
  29. COUNT=0
  30. for i in $(find "$BACKUP_DIR" -maxdepth 1 -type d | sort -V);
  31. do
  32. if [ "$i" != "$BACKUP_DIR" ]
  33. then
  34. COUNT=`expr $COUNT + 1`
  35. if [ $COUNT -gt $NUM_BACKUP ]
  36. then
  37. echo "Deleting: $i" >> $LOG
  38. sudo rm -rf "$i"
  39. fi
  40. fi
  41. done
  42.  
  43. # Pobieramy ostatni katalog backupu
  44. i=1
  45. while [ $i -le $NUM_BACKUP ];
  46. do
  47. #statements
  48. LAST_BACKUP=$(date +%u -d "$i day ago")
  49.  
  50. if [ -d $BACKUP_DIR/$LAST_BACKUP ]
  51. then
  52. echo "Found newest backup: $LAST_BACKUP" >> $LOG
  53. break
  54. fi
  55. i=`expr $i + 1`
  56. done
  57.  
  58. CURRENT_BACKUP=$(date +%u)
  59. if [ ! -d $BACKUP_DIR/$CURRENT_BACKUP ]
  60. then
  61. mkdir -p $BACKUP_DIR/$CURRENT_BACKUP
  62. fi
  63.  
  64. IGNORE_DIR="--exclude=*/sqlcache/* --exclude=*/templates_c/* --exclude=kustran/.cache/* --exclude=kustran/backup/swap --exclude=kustran/VirtualBox*"
  65.  
  66. echo "Backup dir = $BACKUP_DIR/$CURRENT_BACKUP" >> $LOG
  67. cd $BACKUP_DIR/$CURRENT_BACKUP
  68. sudo ping -c 2 $IP_ADDR || exit 1
  69. rsync -avzh --progress $IGNORE_DIR --link-dest=$BACKUP_DIR/$LAST_BACKUP $IP_ADDR:$SOURCE_DIR $BACKUP_DIR/$CURRENT_BACKUP --del 2>&1 >> $LOG
  70. cat $LOG
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement