登录
首页 >  数据库 >  MySQL

linux数据库定期备份

来源:SegmentFault

时间:2023-01-19 19:31:34 465浏览 收藏

大家好,今天本人给大家带来文章《linux数据库定期备份》,文中内容主要涉及到MySQL、Linux、shell、vim,如果你对数据库方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

linux数据库定期备份

目标: 每隔1分钟,导出.sql,压缩,并按日期存储在/data 下,每分钟后删除.sql文件,每隔2分钟删除.tar.gz文件

知识: 定时任务 crontab , mysqldump 导出 , tar 打包压缩, 按日期创建文件 date

准备部分

1.建立mysqldump软链接(必须在~目录下建立软链接)

ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump

2.将mysql.bak.sql导出备份到~目录下

mysqldump -uroot -p123 -B mysql > ./mysql.bak.sql

3.将导出的mysql.bak.sql打包成.tar.gz

tar zcvf mysql.bak.sql.tar.gz mysql.bak.sql

正式写shell脚本

1.新建bak.sh脚本文件

vim bak.sh

往脚本里写的内容:

#!/bin/bash
cd /data
rm -f *.sql

old=`date -d '-2 minute' +%Y%m%d%H%M`
tad=`date +%Y%m%d%H%M`

/usr/local/mysql/bin/mysqldump -uroot -p123 -B mysql > ./$tad.sql

tar zcf $tad.sql.tar.gz $tad.sql

# -f是判断文件是否存在

if [ -f /data/$old.sql.tar.gz ]
then
rm -rf /data/$old.sql.tar.gz
fi

2.在/目录下创建一个data目录

mkdir -p /data/

3.创建定时任务:

crontab -e

4:编辑定时任务:

*/1  *  *  *  *   /data/bak.sh

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《linux数据库定期备份》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表