Linux 设置 MySQL 每天定时备份脚本

编写脚本

cd /

vim mysql_backup.sh

 脚本代码如下:

#!/bin/bash
#定义变量信息
mysql_user="root"
mysql_password="123456"
mysql_host="localhost"
mysql_port="3306"
mysql_database="test"
backup_dir="/usr/local/mysql"
#backup_date=$(date +%Y%m%d%H%M%S)
backup_date=$(date +%Y%m%d)

echo "备份开始......"

# 备份数据库
/data/mysql/bin/mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password $mysql_database > $backup_dir/mysql_backup_$backup_date.sql

echo "备份结束!"

设置脚本可执行权限

chmod 777 mysql_backup.sh

设置定时任务,每天定时执行

编辑定时任务配置文件

vim /etc/crontab

新增在配置文件,最后一行,此处设置的是每分钟执行一次

*/1 * * * * root /mysql_backup.sh

格式定义如下图:

Linux 设置 MySQL 每天定时备份脚本_第1张图片

字段 描述 允许的值
分钟 一小时的第几分 0-59
小时 一天的第几小时 0-23
日期 一个月的的第几天 1-31
月份 一年的第几个月 1-12
周几 一周的第几天 0-6
命令 命令 可以被执行的任何命令

常用格式:

crontab每分钟定时执行:

*/1 * * * * root /mysql_backup.sh //每隔1分钟执行一次
*/10 * * * * root /mysql_backup.sh //每隔10分钟执行一次

crontab每小时定时执行:

0 */1 * * * root /mysql_backup.sh //每1小时执行一次
0 */2 * * * root /mysql_backup.sh //每2小时执行一次

crontab每天定时执行:

0 10 * * * root /mysql_backup.sh //每天10点执行
30 19 * * * root /mysql_backup.sh //每天19点30分执行

crontab每周定时执行:

0 10 * * 1 root /mysql_backup.sh //每周一10点执行
30 17 * * 5 root /mysql_backup.sh //每周五17点30分执行

crontab每年定时执行:

0 10 1 10 * root /mysql_backup.sh //每年的10月1日10点执行
0 20 8 8 * root /mysql_backup.sh //每年的8月8日20点执行

重新加载,立即生效

crontab /etc/crontab

查看定时任务

crontab -l

Linux 设置 MySQL 每天定时备份脚本_第2张图片

备份效果截图:

Linux 设置 MySQL 每天定时备份脚本_第3张图片

你可能感兴趣的:(MySQL,Linux,linux,mysql,服务器)