Advertisement
Guest User

Untitled

a guest
Jan 19th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
  4. # PLEASE UPDATE CONFIG BELOW #
  5. #@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
  6.  
  7. # local file backup directory
  8. path='/home/hary/backup/db'
  9. # mysql config
  10. dbuser="root"
  11. dbpass=""
  12. dbhost="localhost"
  13. dbport="3306"
  14. # ftp/sftp config
  15. ftptype="sftp" #ftp
  16. ftppath="/home/hary/backup/db"
  17. ftpuser="hary"
  18. ftppassword=""
  19. ftpserver="192.168.88.24"
  20. ftpport="4637"
  21. # db backup
  22. dbnames="asbanda_ib mobilesgo"
  23.  
  24. # backup file lifetime before delete
  25. lifetime=7
  26.  
  27. #@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
  28. # PLEASE UPDATE CONFIG ABOVE #
  29. #@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
  30.  
  31. sql='.sql'
  32. archive='.gz'
  33. tgl=`/bin/date +%Y%m%d`
  34. jam=`/bin/date +%H%M%S`
  35. tgljam=${tgl}_${jam}
  36. for db in ${dbnames}; do
  37. filepath=${path}/${db}
  38. echo "Checking file lifetime ${filepath}"
  39. #find ${filepath} -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
  40. find ${filepath} -maxdepth 1 -type f -mtime +${lifetime} -exec rm -rf {} \;
  41. filenamesql=${db}_${tgljam}${sql}
  42. filenamezip=${filenamesql}${archive}
  43. if [ ! -d ${filepath} ]; then /bin/mkdir -p ${filepath}; fi
  44. cd ${filepath}
  45. echo "Create database backup ${filenamezip}"
  46. mysqldump --host=${dbhost} --port=${dbport} --user=${dbuser} --password=${dbpass} --routines --single-transaction --lock-tables=false --quick ${db} | gzip -c > ${filepath}/${filenamezip}
  47. #touch ${filenamezip}
  48. echo "Upload database backup ${filenamezip}"
  49. if [ "${ftptype}" == "ftp" ]
  50. then
  51. lftp -u ${ftpuser},${ftppassword} -p ${ftpport} -e "set ftp:passive-mode on; mkdir -p ${ftppath}/${db}/${tgl}; cd ${ftppath}/${db}/${tgl}; mput ${filepath}/${filenamezip}; quit" ${ftpserver}
  52. elif [ "${ftptype}" == "sftp" ]
  53. then
  54. lftp sftp://${ftpuser}:${ftppassword}@${ftpserver} -p ${ftpport} -e "mkdir -p ${ftppath}/${db}/${tgl}; cd ${ftppath}/${db}/${tgl}; put ${filepath}/${filenamezip}; bye"
  55. else
  56. echo "unknown ftp type ${ftptype}"
  57. fi
  58. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement