Mysql如何在linux中实现定时备份

2023年 4月 30日 39.6k 0

在实际项目中,数据库是要经常备份的,就是为了防止突发情况,前段时间,我的数据库就遭遇了入侵要支付B特比的,结果数据全没了,哎,还好当时只是个测试库,不过有了这次危机

在实际项目中,数据库是要经常备份的,就是为了防止突发情况,前段时间,我的数据库就遭遇了入侵要支付B特比的,结果数据全没了,哎,还好当时只是个测试库,不过有了这次危机,也就开始意识到了这个问题了。

先写个测试的数据库备份命令:

#!/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

之后看结果就行

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持每日运维。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论