linux定时备份mysql库

1.新建备份执行脚本

vim mysql_backup.sh
#!/bin/bash
#db_name='activiti' 数据库名 这里我注释了,因为我用-A备份所有库了,
#如果你想备份单个库,把下面A换成 $db_name 
backup_dir='/data/backup/mysql/' #备份到哪,新建出来
current_time=$(date +'%Y-%m-%d_%H%M%S') #获取当前时间
filepath=$backup_dir$current_time'.sql'  #将iackup_dir和时间组合起来,再加个后缀
echo '开始导出数据库...'
mysqldump -uroot -p123456 A > $filepath
echo '导出成功,文件名为: '$filepath
echo '如果出现报错,那就意味着没有导出成功!'

2.赋权

chmod 777 mysql_backup.sh

3.测试
执行脚本,看看是否报错

错误1:
mysqldump: 未找到命令
执行:find / -name mysqldump 
结果:/usr/local/mysql/bin/mysqldump
再执行:ln -s /usr/local/mysql/bin/mysqldump  /usr/bin

4.添加定时

crontab -e

输入

0 14 * * * /bin/bash /data/backup/mysql_backup.sh >/dev/null 2>&1

每天14点执行一次
分 时 日 月 周 命令(需要什么时间自己定)

0 1 * * 1 /bin/bash /data/backup/mysql_backup.sh >/dev/null 2>&1

5.重启调度

service crond restart 

#centos7 请执行 systemctl restart crond

6…查看任务

crontab -l

结果:

0 14 * * * /bin/bash /data/backup/mysql_backup.sh >/dev/null 2>&1

7.安装(应该不用)

 yum install vixie-cron
 yum install crontabs

你可能感兴趣的:(mysql,linux,数据库)