Advertisement
Rvby1

Borg Backup Script

Jul 20th, 2019
640
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.80 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #
  4. # Script configuration
  5. #
  6.  
  7. # Path of the Borg repository
  8. BORGREPO_PATH="/home/minecraft/sheepcraft-backups/backup-repo"
  9.  
  10. # Archive name
  11. ARCHIVE_NAME="sheepcraft-backup-{now:%m-%d-%Y_%H:%M:%S}"
  12.  
  13. #Log name and path
  14. LOG_NAME="sheepcraft_borg_log"
  15. LOG_PATH="/home/minecraft/sheepcraft-backups/"
  16.  
  17.  
  18. #
  19. # Create backup
  20. #
  21.  
  22. # Options for borg create
  23. BORG_CREATE_OPTS="--stats --compression auto,lzma,6 --checkpoint-interval 86400 --exclude '/home/minecraft/server/plugins/*.jar \
  24. --exclude '/home/minecraft/server/plugins/CoreProtect/' --exclude '/home/minecraft/server/*.jar' --exclude '/home/minecraft/server/cache/'"
  25.  
  26. # Set BORG_PASSPHRASE
  27. export BORG_PASSPHRASE="95Eqy3XEngu0WF1dkYXI"
  28.  
  29. #Warn users about backup and turn off world saving
  30. screen -S sheepcraft -X stuff 'save-off\r'
  31. screen -S sheepcraft -X stuff 'save-all\r'
  32. screen -S sheepcraft -X stuff 'tellraw @a ["",{"text":"**********************","bold":true,"color":"purple"}]\r'
  33. screen -S sheepcraft -X stuff 'tellraw @a ["",{"text":"Starting backup... Some lag may ensue...","bold":true,"color":"purple"}]\r'
  34. screen -S sheepcraft -X stuff 'tellraw @a ["",{"text":"**********************","bold":true,"color":"purple"}]\r'
  35.  
  36. #Create Borg archive [borg create [settings] [path]::[archive_name]]. Also log borg data.
  37. borg create $BORG_CREATE_OPTS $BORGREPO_PATH::$ARCHIVE_NAME > $LOG_PATH/$LOG_NAME 2>&1
  38.  
  39. #Tell users backup is finished and turn world saving back on
  40. screen -S sheepcraft -X stuff 'save-on\r'
  41. screen -S sheepcraft -X stuff 'tellraw @a ["",{"text":"**********************","bold":true,"color":"purple"}]\r'
  42. screen -S sheepcraft -X stuff 'tellraw @a ["",{"text":"Backup complete!","bold":true,"color":"purple"}]\r'
  43. screen -S sheepcraft -X stuff 'tellraw @a ["",{"text":"**********************","bold":true,"color":"purple"}]\r'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement