数据库定时备份linux

前提需要保证你的Linux服务器已经安装了MYSQl数据库服务。

1、创建shell脚本

vim backupdb.sh

 导出二进制数据压缩包

#!/bin/sh
/usr/bin/mysqldump -B -uroot -p123456 team | gzip>/home/backup/$(date +"%Y%m%d%H%M%S").sql

导出sql数据

#!/bin/sh
/usr/bin/mysqldump -uroot -p123456 team | gzip>/home/backup/$(date +"%Y%m%d%H%M%S").sql

创建脚本内容如下:

#!/bin/sh

db_user="root"

db_passwd="123456"

db_name="userdb"

name="$(date +"%Y%m%d%H%M%S")"

/usr/bin/mysqldump -u$db_user -p$db_passwd $db_name >>/home/backup/$name.sql

说明:

/usr/bin/mysqldump :mysql数据库安装目录下的mysqldump备份工具路径

dbname :需要备份的数据库名字

/home/backup/$name.sql :备份文件输出位置,可以根据情况自行设定

2、给shell脚本添加执行权限

chmod +x backupdb.sh

3、给脚本添加定时任务

crontab -e

输入上一行命名进入编辑定时任务,最后添加如下内容

00 01 * * * /bin/sh /usr/local/mysql/backupdb.sh

上面定时任务意思是每天凌晨1点会执行自动备份脚本,进行MYSQl数据库的定时备份。

4.数据还原

导出为sql数据还原

mysql -uroot -p123456 ctrl</home/backup/20200303194811.sql

导出为二进制压缩包还原

 

crontab文件的说明:

用户创建的crontab文件中,每一行都代表一项定时任务,每行的每个字段代表一项设置,它的格式每行共分为六个字段,前五段是时间设定字段,第六段是要执行的命令字段。

格式如下:minute hour day month week command

参数说明:

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是Linux系统命令,也可以是自己编写的脚本文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章