Linux下mysql自动备份脚本
Linux下mysql自动备份脚本
本随笔文章,由个人博客(鸟不拉屎)转移至博客园
发布时间:2018 年 06 月 26 日
原地址:https://niaobulashi.com/archives/AutoBackup.html
逛了蛮多博客网站的,亲眼看到一个博客网站数据丢失之后的模样,挺为他心痛的。于是就打算弄个mysql定时备份的脚本,可以自行设计crontab定时执行时间,可以是周一和周四每周备份两次就可以了。
脚本
新建一个mysql_backup.sh文件
#!/bin/bash
#设置mysql的备份保存目录
folder=/root/mysql_back
cd $folder
day=`date +%Y%m%d`
mkdir -p "$day"
cd $day
#数据库服务器ip,填写服务器的公网地址即可
host=xx.xx.xx.xx
#用户名
user=root
#密码
password=password
#要备份的数据库名
db=test
#执行备份语句
mysqldump -h$host -u$user -p$password $db > ./test.sql
注意
上方需要你 修改 并且 注意 的地方有:
- folder设置的目录你可以自行设置
- day=date +%Y%m%d,"+"和"date"必须有个空格,否则会有语法错误
- host为你的服务器公网IP
- user一般都是root
- password为root的密码
- db为博客的数据库名
测试脚本是否正确,执行脚本
sh mysql_backup.sh
因为我是为了测试crontab的定时任务执行是否有效,我设置的是1分钟执行一次,其中day=`date +%Y%m%d_%H%M%S`。(为了执行效果而截的图,可忽略)
定时任务
设置好定时任务crontab执行时间,一般ESC都会自带crontab服务的。查看crontab服务状态
service crond status
有蓝色指示灯说明服务运行正常,OK,开始设置定时任务
crontab -e
键入i,进入编辑模式:
敲入下列命令:每周1和周4凌晨2点会执行定时脚本
0 2 * * 1,4 /etc/profile;/bin/sh /root/mysqlbackup.sh
重启crontab服务使之生效
/bin/systemctl restart crond.service
OK了,之后查看备份的文件就在上面脚本定义的目录上查看即可
cd /root/mysql_back
为你的博客进行备份,不再为数据丢失而烦恼啦。
是不是so easy。有啥问题尽情留言,秒回
20180725前来更新
这是部署脚本之后的执行效果,每个周一和周四凌晨2点执行的效果图
不再为忘记备份担心数据丢失啦~
推荐阅读
关于定时执行任务:Crontab的20个例子
Linux crontab定时执行任务 命令格式与详细例子
Linux crontab命令
人生有几个十年呢?点点滴滴,用文字记录