Advertisement
giochola

Simple bash backup script

Jul 18th, 2016
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.48 KB | None | 0 0
  1. #!/bin/bash
  2. #RS="/var/www/html/cicaf/ /var/www/html/studycn/"
  3. DIRS="/var/log/apache2/"
  4.  
  5. # Store todays date
  6. NOW="Azure"
  7.  
  8. # Store backup path
  9. BACKUP="/usr/up/$NOW"
  10.  
  11. # Backup file name hostname.time.tar.gz
  12. BFILE="$(hostname).tar.gz"
  13. #PFILE="$(hostname).$(date +'%T').pg.sql.gz"
  14. MFILE="$(hostname).mysql.sq.gz"
  15.  
  16. # Set MySQL username and password
  17. MYSQLUSER="root"
  18. MYSQLPASSWORD="N6nAXEJcj1"
  19.  
  20. # Remote SSH server setup
  21. SSHSERVER="x.x.x.x"        # your remote ssh server
  22. SSHUSER="aietix"                 # username
  23. SSHDUMPDIR="/storage/backups"    # remote ssh server directory to store dumps
  24.  
  25. # Paths for binary files
  26. TAR="/bin/tar"
  27. PGDUMP="/usr/bin/pg_dump"
  28. MYSQLDUMP="/usr/bin/mysqldump"
  29. GZIP="/bin/gzip"
  30. SCP="/usr/bin/scp"
  31. SSH="/usr/bin/ssh"
  32. LOGGER="/usr/bin/logger"
  33.  
  34. # make sure backup directory exists
  35. [ ! -d $BACKUP ] &&  mkdir -p ${BACKUP}
  36.  
  37. # Log backup start time in /var/log/messages
  38. $LOGGER "$0: *** Backup started @ $(date) ***"
  39.  
  40. # Backup websever dirs
  41. $TAR -zcvf ${BACKUP}/${BFILE} "${DIRS}"
  42.  
  43.  
  44. # Backup MySQL
  45. $MYSQLDUMP  -u ${MYSQLUSER} -h localhost -p${MYSQLPASSWORD} --all-databases | $GZIP -9 > ${BACKUP}/${MFILE}
  46.  
  47. # Dump all local files to failsafe remote UNIX ssh server / home server
  48. $SSH ${SSHUSER}@${SSHSERVER}  mkdir -p ${SSHDUMPDIR}/${NOW}
  49. $SCP -r ${BACKUP}/* ${SSHUSER}@${SSHSERVER}:${SSHDUMPDIR}/${NOW}
  50.  
  51. # Log backup end time in /var/log/messages
  52. $LOGGER "$0: *** Backup Ended @ $(date) ***"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement