在实际项目中,数据库是要经常备份的,就是为了防止突发情况,前段时间,我的数据库就遭遇了入侵要支付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