g3m63l

SCP Backup to Another Server Using Colored Output Script

Jun 25th, 2012
419
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.01 KB | None | 0 0
  1. #!/bin/bash
  2. ###########
  3. # file name : backup.sh
  4. # version   : v.0.1.0
  5. # written by: [email protected]
  6. ###############################
  7.  
  8. FILE_NAME="`basename $0`"
  9. VERSION="v.0.1.0"
  10. DATE="`date +%d_%m_%Y_%H:%M`"
  11. ## Change variable HERE to suit your needs
  12. WEB_DIR=/var/www/html   # make a change HERE if your "DocumentRoot" not in "/var/www/html"
  13.             #+ example: "/var/www/html/myweb.com/htdocs"
  14. # BACKUP_FOLDER=/backup # change IF your backup folder is different,
  15.             #+ also UN-comment it if your backup server is same as your web server
  16. TEMP_DIR="/var/tmp"
  17. TEMP_NAME="`date +%d_%m_%Y_%H%M`_backup.tgz"
  18. TEMP_FILE="$TEMP_DIR"/"$TEMP_NAME"
  19. BACKUP_SERVER=192.168.10.100 # of course your server is different than mine,
  20.             #+comment all this 3 lines if your backup server is in the same server
  21. BACKUP_PORT=443     # in case your backup server have a different port, usually 22
  22. SSH_KEY=$HOME/.ssh/mykey
  23.  
  24. sleep 1
  25. echo -e "\nInitializing . . . . ."
  26. sleep 3
  27. echo -e "Please wait . . . . . ."
  28. sleep 4
  29. clear
  30. sleep 2
  31. printf "\n"
  32. # echo -e "\033[36m$FILE_NAME $VERSION \033[0mWritten by: \033[36m$WRITTER "
  33. echo -e "\033[38;5;148m$FILE_NAME $VERSION \033[39m\033[0mWritten by: \033[38;5;148m$WRITTER\033[39m"
  34. echo -e "\033[0m########################################################"
  35. echo "#######  Auto Backup Script for Web Directories  #######"
  36. echo "################### Juni 21, 2012 ######################"
  37. echo "########################################################"
  38. sleep 2
  39. printf "\n"
  40. echo -e " >>>> Starting backup process at: \033[36m$DATE"
  41. sleep 2
  42. echo -e "\033[0m >>>> Change Working  Directory to: \033[1m$WEB_DIR"
  43. cd $WEB_DIR &> /dev/null
  44. sleep 2
  45. echo -e "\033[0m >>>> Verifying if the working directory is correct ...."
  46. sleep 3
  47. if [ "$PWD" = "$WEB_DIR" ]
  48.     then
  49.         echo -e "\033[0m >>>> OK, you're in: \033[1m$PWD"
  50.     else
  51.         echo -e "\033[0m >>>> Cannot going to: \033[1m$WEB_DIR \033[0m,,, Perhaps you don't have sufficient permission ...."
  52.         sleep 2
  53.         echo -e "\033[0m >>>> Tasks \033[1mFAILED, \033[0mwill quit NOW !!"
  54.         sleep 2
  55.         printf "\n"
  56.     exit $E_XCD
  57. fi
  58. sleep 2
  59. echo -e "\033[0m >>>> Now I will TAR and GZIP-ing everythings in the current directory ...."
  60. sleep 2
  61. echo -e "\033[0m >>>> Probably you wanna take a drink or get some smoke while I do my jobs ...."
  62. /bin/tar zcvf $TEMP_FILE . &> /dev/null
  63. sleep 5
  64. echo -e "\033[0m >>>> OK, now I am going to try to verify if the file was successfully TAR-GZIP-ed ...."
  65. sleep 4
  66. if [ -s $TEMP_FILE ]
  67.     then
  68.         echo -e " >>>> File: \033[32m\033[1m$TEMP_FILE \033[0m seems \033[1mGOOD!!!\033[0m"
  69.         sleep 3
  70.         echo -e " >>>> Will try to send \033[32m\033[1m$TEMP_FILE\033[0m using Secure Copy (scp) ...."
  71.         sleep 3
  72.         echo -e " >>>> Sending compressed file: \033[32m\033[1m$TEMP_FILE \033[0m \n >>>> to \033[1m$BACKUP_SERVER\033[0m using port \033[1m$BACKUP_PORT \033[0mwith username \033[1m'$USER'\033[0m...."
  73.         sleep 3
  74.     /usr/bin/scp -i "$SSH_KEY" -P"$BACKUP_PORT" "$TEMP_FILE" "$USER"@"$BACKUP_SERVER":~/ &> /dev/null
  75.         if [ $? -eq 0 ]
  76.             then
  77.                 echo " >>>> Verifying if the file was sent successfully ...."
  78.                 sleep 4
  79.                 echo -e " >>>> OK, it's look \033[1mGOOD\033[0m. The file was sent without returning any error ...."
  80.             else
  81.                 echo " >>>> Verifying if the file was sent successfully ...."
  82.                 sleep 4
  83.                 echo -e " >>>> File sending was \033[31mFAILED!!!\033[0mwill quit NOW !!"
  84.                 sleep 2
  85.                 printf "\n"
  86.             exit 0
  87.         fi
  88.     else
  89.         echo -e "\033[0m >>>> Bad NEWS, file: \033[31m$TEMP_FILE \033[0mwas \033[1mNOT FOUND!!!\033[0m"
  90.         sleep 2
  91.         echo -e " >>>> Cannot continue to next step, Tasks \033[1mFAILED, \033[0mwill quit NOW !!"
  92.         sleep 2
  93.         printf "\n"
  94.         exit 0
  95. fi
  96. sleep 2
  97. echo " >>>> Cleaning temporary created files. Wait a seconds ...."
  98. rm -rf $TEMP_FILE &> /dev/null
  99. sleep 3
  100. echo -e " >>>> \033[1mDONE ....!\033[0m"
  101. sleep 2
  102. echo -e " >>>> Task was \033[1mCOMPLETED\033[0m successfully. \033[1mGOOD JOBS ...!\033[0m"
  103. printf "\n"
  104. exit 0
  105. ########################### [email protected] #################################
  106. ##
Advertisement
Add Comment
Please, Sign In to add comment