MySQL 定时备份
- 登录服务器,查找mysql的安装目录
whereis mysql
- 在/usr/local/mysql/新目录下新建备份文件目录 backup
cd /usr/local/mysql
mkdir backup
- 新建执行脚本文件databaseBackup.sh,保存退出
cd backup
vim databaseBackup.sh
#!/bin/bash
BACKPATH=/usr/local/mysql/backup
SQL_FILE=ecsr_$(date +%Y%m%d_%H%M%S).sql
LOG_FILE=ecsr_$(date +%Y%m%d_%H%M%S).log
HOST_NAME=ip地址
PORT_NUM=3306
USER_NAME=账号
PASSWORD=密码
if [ ! -d "$BACKPATH" ]; then
mkdir -p $BACKPATH
fi
/usr/local/mysql/bin/mysqldump -h $HOST_NAME -P $PORT_NUM -u $USER_NAME -p$PASSWORD --log-error=$BACKPATH/$LOG_FILE --databases 数据库名 -R -E > $BACKPATH/$SQL_FILE
find $BACKPATH -mtime +7 \( -name "*.sql" -o -name "*.log" \) -exec rm -rf {} \;
- 新建定时执行任务 databaseBackup.cron,每天凌晨1点执行
0 1 * * * sh /usr/local/mysql/backup/databaseBackup.sh > /dev/null 2>&1
- 将任务添加到执行列表,执行后默认会把任务添加到/var/spool/cron/root文件中,可以查看下。
crontab databaseBackup.cron
注意: 这个操作是直接替换该用户下的crontab,而不是新增。
6. 参考文章
Linux下的crontab定时执行任务命令详解
MySQL定时备份数据库(全库备份)
定时备份