Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ##Zmienne
- script_name="TS-Backup" #Zmienna używana przy logowaniu
- z_file="/root/serwer/ts3server.sqlitedb" #plik lub folder do backupu
- z_backup_folder="/root/serwer/backup" #folder w którym trzymamy backup, musi byc utworzony wczesniej
- z_archive_backup=5 #ile archiwalnych plików wstecz trzymamy
- #Zmienne funkcyjne - nie ruszaj!!
- z_date=`date +%Y%m%d`
- #0-wylacz log | 1-wlacz log
- check_backup_directory () {
- if [ ! -d "$z_backup_folder" ]; then
- echo "Backup folder "$z_backup_folder" doesn't exist"
- logger "$script_name - [fail] backup folder "$z_backup_folder" doesn't exist"
- exit 1
- fi
- }
- delete_oldest_file () {
- oldest_file=$(find "$z_backup_folder"/* -type d -printf "%p\n" | sort -n | head -n1)
- rm -Rf $oldest_file
- logger "$script_name - $oldest_file was removed"
- }
- backup_file_count () {
- backup_file_count=$(ls -1 $z_backup_folder | wc -l)
- }
- delete_old_archive () {
- backup_file_count
- while [ $backup_file_count -gt $z_archive_backup ]; do
- delete_oldest_file
- backup_file_count
- done
- }
- make_backup () {
- mkdir "$z_backup_folder"/"$z_date" &> /dev/null
- rsync -avh --checksum $z_file "$z_backup_folder"/"$z_date"/ &> /dev/null
- logger "$script_name - making backup $z_date"
- }
- main () {
- echo "Rozpoczynam backup"
- logger "$script_name - [start] backup"
- check_backup_directory
- make_backup
- delete_old_archive
- logger "$script_name [done] backup"
- }
- main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement