在实际项目中,数据库是要经常备份的,就是为了防止突发情况,前段时间,我的数据库就遭遇了入侵要支付B特比的,结果数据全没了,哎,还好当时只是个测试库,不过有了这次危机,也就开始意识到了这个问题了。
先写个测试的数据库备份命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/bin/sh DB_USER= "root" DB_PASS= "1234" DB_DATA_NAME= "hzl" BakDir= "/data/mysql-data-back" echo "/usr/bin/mysqldump" echo "-------------------------------------------" >> $BakDir echo $( date + "%y-%m-%d %H:%M:%S" ) >> $BakDir cd $BakDir /usr/bin/mysqldump --no-defaults -u$DB_USER -p$DB_PASS $DB_DATA_NAME| gzip > $BakDir /db_ ` date +%F`.gz exit 0 |
命令如上,直接写成的是shell文件,文件运行成功,能在目录下手动生成备份的.gz文件。
这里要注意:.sh文件最开始是运行不了的,
chmod +x sqlAutoBak.sh
好,上面的比较简单,开始下面的重头戏,让脚本每天自动执行。
1.确认crontab是否安装
crontab -l
能看到执行脚本的列表,说明安装成功。如果没有没有的话,网上随便找个安装教程就行。
[root@VM_0_4_centos ~]# crontab -l
*/1 * * * * /usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &
2.将备份脚本加入到crontab服务中
crontab -e
按下 a 键进入到编辑模式
输入 0 */1 * * * /home/work/start-service.sh
同时按下 ctrl+c 退出编辑模式
按下 shift+: 输入 wq 退出 crontab
之后看结果就行
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/sunxun/p/9975439.html