Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ###########
- # file name : backup.sh
- # version : v.0.1.0
- # written by: g3m63l@gmail.com
- ###############################
- FILE_NAME="`basename $0`"
- VERSION="v.0.1.0"
- WRITTER="g3m63l@gmail.com"
- DATE="`date +%d_%m_%Y_%H:%M`"
- ## Change variable HERE to suit your needs
- WEB_DIR=/var/www/html # make a change HERE if your "DocumentRoot" not in "/var/www/html"
- #+ example: "/var/www/html/myweb.com/htdocs"
- # BACKUP_FOLDER=/backup # change IF your backup folder is different,
- #+ also UN-comment it if your backup server is same as your web server
- TEMP_DIR="/var/tmp"
- TEMP_NAME="`date +%d_%m_%Y_%H%M`_backup.tgz"
- TEMP_FILE="$TEMP_DIR"/"$TEMP_NAME"
- BACKUP_SERVER=192.168.10.100 # of course your server is different than mine,
- #+comment all this 3 lines if your backup server is in the same server
- BACKUP_PORT=443 # in case your backup server have a different port, usually 22
- SSH_KEY=$HOME/.ssh/mykey
- sleep 1
- echo -e "\nInitializing . . . . ."
- sleep 3
- echo -e "Please wait . . . . . ."
- sleep 4
- clear
- sleep 2
- printf "\n"
- # echo -e "\033[36m$FILE_NAME $VERSION \033[0mWritten by: \033[36m$WRITTER "
- echo -e "\033[38;5;148m$FILE_NAME $VERSION \033[39m\033[0mWritten by: \033[38;5;148m$WRITTER\033[39m"
- echo -e "\033[0m########################################################"
- echo "####### Auto Backup Script for Web Directories #######"
- echo "################### Juni 21, 2012 ######################"
- echo "########################################################"
- sleep 2
- printf "\n"
- echo -e " >>>> Starting backup process at: \033[36m$DATE"
- sleep 2
- echo -e "\033[0m >>>> Change Working Directory to: \033[1m$WEB_DIR"
- cd $WEB_DIR &> /dev/null
- sleep 2
- echo -e "\033[0m >>>> Verifying if the working directory is correct ...."
- sleep 3
- if [ "$PWD" = "$WEB_DIR" ]
- then
- echo -e "\033[0m >>>> OK, you're in: \033[1m$PWD"
- else
- echo -e "\033[0m >>>> Cannot going to: \033[1m$WEB_DIR \033[0m,,, Perhaps you don't have sufficient permission ...."
- sleep 2
- echo -e "\033[0m >>>> Tasks \033[1mFAILED, \033[0mwill quit NOW !!"
- sleep 2
- printf "\n"
- exit $E_XCD
- fi
- sleep 2
- echo -e "\033[0m >>>> Now I will TAR and GZIP-ing everythings in the current directory ...."
- sleep 2
- echo -e "\033[0m >>>> Probably you wanna take a drink or get some smoke while I do my jobs ...."
- /bin/tar zcvf $TEMP_FILE . &> /dev/null
- sleep 5
- echo -e "\033[0m >>>> OK, now I am going to try to verify if the file was successfully TAR-GZIP-ed ...."
- sleep 4
- if [ -s $TEMP_FILE ]
- then
- echo -e " >>>> File: \033[32m\033[1m$TEMP_FILE \033[0m seems \033[1mGOOD!!!\033[0m"
- sleep 3
- echo -e " >>>> Will try to send \033[32m\033[1m$TEMP_FILE\033[0m using Secure Copy (scp) ...."
- sleep 3
- 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...."
- sleep 3
- /usr/bin/scp -i "$SSH_KEY" -P"$BACKUP_PORT" "$TEMP_FILE" "$USER"@"$BACKUP_SERVER":~/ &> /dev/null
- if [ $? -eq 0 ]
- then
- echo " >>>> Verifying if the file was sent successfully ...."
- sleep 4
- echo -e " >>>> OK, it's look \033[1mGOOD\033[0m. The file was sent without returning any error ...."
- else
- echo " >>>> Verifying if the file was sent successfully ...."
- sleep 4
- echo -e " >>>> File sending was \033[31mFAILED!!!\033[0mwill quit NOW !!"
- sleep 2
- printf "\n"
- exit 0
- fi
- else
- echo -e "\033[0m >>>> Bad NEWS, file: \033[31m$TEMP_FILE \033[0mwas \033[1mNOT FOUND!!!\033[0m"
- sleep 2
- echo -e " >>>> Cannot continue to next step, Tasks \033[1mFAILED, \033[0mwill quit NOW !!"
- sleep 2
- printf "\n"
- exit 0
- fi
- sleep 2
- echo " >>>> Cleaning temporary created files. Wait a seconds ...."
- rm -rf $TEMP_FILE &> /dev/null
- sleep 3
- echo -e " >>>> \033[1mDONE ....!\033[0m"
- sleep 2
- echo -e " >>>> Task was \033[1mCOMPLETED\033[0m successfully. \033[1mGOOD JOBS ...!\033[0m"
- printf "\n"
- exit 0
- ########################### g3m63l@gmail.com #################################
- ##
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement