Linux下自动备份mysql数据库(附执行脚本程序)

开启数据库备份计划任务

#!/bin/bash
#crontab -e 启用定时任务 * 分 时 日 月 周
#0 3 * * * /var/www/database_mysql_backup.sh

配置计划任务database_mysql_backup.sh脚本

DATE=date +%Y%m%d%H%M              #every minute
DATABASE=wordpress              #database name
DB_USERNAME=root                      #database username
DB_PASSWORD=”root”                    #database password
BACKUP_PATH=/home/robin/mysql_backup   #backup path

#backup command

/usr/bin/mysqldump -u$DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -R –opt $DATABASE | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz

#保留5天数据

find ${BACKUP_PATH} -mtime +5 -name“${DATABASE}_*.sql.gz” -exec rm -f {} \;

注意事项

  • 如果有多个数据库可以分别设定数据库名称、登录用户名、密码等项即可
  • 该计划任务是在服务器上执行的,所以IP地址填写的是127.0.0.1,如果是在其它终端上执行该任务,只需变更IP地址为服务器IP地址
  • 计划任务执行的sh脚本,可以放在任何地方,只需根据情况修改路径
  • BACKUP_PATH是备份文件的保存路径,根据情况替换成自己的路径