Linux下mysql定时自动备份并FTP到远程脚本

本blog文章如没特殊声明均为原创文章,转载请注明出处,谢谢!

1.添加backupmysqleveryday.sh(vi /data/shell/backupmysqleveryday.sh)

  1. #!/bin/sh
  2. #this shell is user for backup mysql data everyday
  3. #author:www.ieliwb.com
  4.  
  5. #path-config
  6. base_mysql_path=/data/webserver/mysql/
  7. mysql_dump_path=/data/mysqlbackup/
  8. mnt_back_path=/mnt/web/mysqlbackup/
  9. ftp_back_path=mysql_data_backup/
  10.  
  11. #mysql-config
  12. mysql_user="root"
  13. mysql_pass="*******"
  14.  
  15. #ftp-config
  16. ftp_host="ip"
  17. ftp_user="********"
  18. ftp_pass="********"
  19.  
  20. backup_name=`date +%Y%m%d%H%M%S`
  21.  
  22. cd ${mysql_dump_path}
  23.  
  24. #mysqldump
  25. ${base_mysql_path}bin/mysqldump -u${mysql_user} -p${mysql_pass} --all-database > ${backup_name}.sql
  26.  
  27. #pack
  28. tar zcf ${backup_name}.tar.gz ${backup_name}.sql
  29. rm -f ${backup_name}.sql
  30.  
  31. #backup to mnt
  32. cp ${backup_name}.tar.gz ${mnt_back_path}${backup_name}.tar.gz
  33.  
  34. #ftp to other host
  35. ftp -n<<!
  36. open ${ftp_host}
  37. user ${ftp_user} ${ftp_pass}
  38. bin
  39. prompt off
  40. cd ${ftp_back_path}
  41. passive
  42. put ${backup_name}.tar.gz
  43. close
  44. bye
  45. !

2.添加定时计划(vi /etc/crontab)

01 0 * * * root /data/shell/backupmysqleveryday.sh
每天0:01点执行

评论

发表新评论