Advertisement
g3m63l

SCP Backup to Another Server Using Colored Output Script

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