linux下实现mysql数据库自动定时备份
1.新建文件
在home下新建backup/bkDatabaseName.sh文件
# 打开到home文件夹 cd /home # 新建 backup 文件夹 mkdir backup # 打开 backup cd backup # 编辑 vi bkDatabaseName.sh
2.vi编辑命令
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名;
输入/粘贴以下内容:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
3.对备份进行压缩(可选)如操作参考上面步骤
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
4.添加可执行权限
chmod u+x bkDatabaseName.sh
添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
./bkDatabaseName.sh
5.测试 添加计划任务执行命令:
crontab -e
这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存: 退出保存 1、按esc 2、输入法状态为英文冒号: 3、wq
标红处二选一
# 意思是每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.sh”。 */1 * * * * /home/backup/bkDatabaseName.sh # 每天晚上23点58执行备份命令 58 23 * * * /home/backup/bkDatabaseName.sh # 通过一下命令可以查看定时任务 crontab -l
其他命令
#查看服务状态
systemctl status crond
#启动
systemctl start crond
#停止
systemctl stop crond
#重启
systemctl restart crond
#重新加载
systemctl reload crond
#开机启动crontab服务
systemctl start crond