Advertisement
Guest User

Untitled

a guest
Apr 27th, 2014
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.41 KB | None | 0 0
  1. #!/bin/bash
  2. ##Zmienne
  3. script_name="TS-Backup" #Zmienna używana przy logowaniu
  4. z_file="/root/serwer/ts3server.sqlitedb" #plik lub folder do backupu
  5. z_backup_folder="/root/serwer/backup" #folder w którym trzymamy backup, musi byc utworzony wczesniej
  6. z_archive_backup=5 #ile archiwalnych plików wstecz trzymamy
  7.  
  8. #Zmienne funkcyjne - nie ruszaj!!
  9. z_date=`date +%Y%m%d`
  10.  
  11. #0-wylacz log | 1-wlacz log
  12.  
  13. check_backup_directory () {
  14.     if [ ! -d "$z_backup_folder" ]; then
  15.         echo "Backup folder "$z_backup_folder" doesn't exist"
  16.         logger "$script_name - [fail] backup folder "$z_backup_folder" doesn't exist"
  17.         exit 1
  18.     fi
  19. }
  20.  
  21. delete_oldest_file () {
  22.     oldest_file=$(find "$z_backup_folder"/* -type d -printf "%p\n" | sort -n | head -n1)
  23.     rm -Rf $oldest_file
  24.     logger "$script_name - $oldest_file was removed"
  25. }
  26.  
  27. backup_file_count () {
  28.     backup_file_count=$(ls -1 $z_backup_folder | wc -l)
  29. }
  30.  
  31. delete_old_archive () {
  32.     backup_file_count
  33.     while [ $backup_file_count -gt $z_archive_backup ]; do
  34.         delete_oldest_file
  35.         backup_file_count
  36.     done
  37. }
  38. make_backup () {
  39.     mkdir "$z_backup_folder"/"$z_date" &> /dev/null
  40.     rsync -avh --checksum $z_file "$z_backup_folder"/"$z_date"/ &> /dev/null
  41.     logger "$script_name - making backup $z_date"
  42. }
  43. main () {
  44.     echo "Rozpoczynam backup"
  45.     logger "$script_name - [start]  backup"
  46.     check_backup_directory
  47.     make_backup
  48.     delete_old_archive
  49.     logger "$script_name [done] backup"
  50. }
  51.  
  52. main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement