本文使用的是阿里云的服务器
- 登录服务器,查找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,而不是新增。
- 参考文章 https://www.cnblogs.com/longjshz/p/5779215.html,https://www.cnblogs.com/letcafe/p/mysqlautodump.html