Godleydemon

restorebackup.sh

Apr 1st, 2014
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.12 KB | None | 0 0
  1. #!/bin/sh
  2. restore ()
  3. {
  4. service mc$server command say server is being restored
  5. service mc$server stop
  6.  
  7. (tar cf - /home/$server/* | pv -n -s $(du -sb /home/$server | awk '{print $1}') | gzip -9 > /home/backup/$server$(date +%d%B%Y_%H:%M).tar.gz) 2>&1 | dialog --gauge 'Backing up Server...' 7 70
  8.  
  9. rm -rf /home/$server/*
  10.  
  11. (pv -n /home/backup/$backup | tar xzf - -C /home/$server ) 2>&1 | dialog --gauge "Restoring files..." 7 70
  12.  
  13. clear
  14.  
  15. echo "cleaning up after the maid"
  16.  
  17. mv /home/$server/home/$server/* /home/$server
  18.  
  19. rm -rf /home/$server/home
  20.  
  21. chown -R $server:$server /home/$server/*
  22. }
  23.  
  24. read -p 'please select a server: ' -e server
  25. ls /home/backup | grep $server
  26. read -p 'please select a backup: ' -e backup
  27.  
  28. echo -n "Are you sure you want to restore the files for $server [Y/N?:"
  29. read yno
  30. case $yno in
  31.  
  32.         [yY] | [yY][Ee][Ss] )
  33.                 restore; break
  34.                 ;;
  35.  
  36.         [nN] | [n|N][O|o] )
  37.                 echo "Exiting";
  38.                 exit 1
  39.                 ;;
  40.         *) echo "Invalid input please type [Y/N]"
  41.             ;;
  42. esac
  43.  
  44. echo "done restoring files from backup $backup"
Advertisement
Add Comment
Please, Sign In to add comment