eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« MySQL 实践:查询版本号、存储引擎、存储路径等信息 | Blog首页 | Gartner 2011-2018 数据库份额排行:阿里巴巴华为腾讯异军突起 »

MySQL 实践:制定 mysqldump 简单的备份策略
modb.pro

深为 DBA 和 IT从业人员,最害怕的是灯下黑,例如,DBA 从不备份自己的数据库,而时时告诉他人备份重于一切!

好吧,我要备份一下我的网站数据库,虽然 MySQL 和 云服务器 从来都是如此健壮,没有让我遭受任何数据库损失。

先定制一个简单的脚本,主要逻辑是:

1.备份;

2.压缩;

3.删除5天前的备份;

在Linux下进行时间运算,使用 date 可以做出灵活的配置:

[root@ backup]# date +"%F"

2019-08-15

[root@ backup]# date -d "5 days ago" +%Y-%m-%d

2019-08-10

以下是这个简单的脚本:

[root@ backup]# cat bakupdb.sh

#!/bin/sh

/alidata/mysql/bin/mysqldump -uroot -pyoupassword --all-databases > /alidata/backup/alldb-`date +"%F"`.sql

gzip /alidata/backup/alldb-`date +"%F"`.sql

rm -rf /alidata/backup/alldb-`date -d "5 days ago" +%Y-%m-%d`.sql.gz

此外,鉴于在 shell 脚本中增加 rm -rf 是非常危险的,所以要做好测试,做2个文件测试:

[root@ backup]# ls -l

total 30212

-rw-r--r-- 1 root root 0 Aug 15 17:00 alldb-2019-08-10.sql.gz

-rw-r--r-- 1 root root 0 Aug 15 17:01 alldb-2019-08-11.sql.gz

-rwxrwxr-x 1 root root 235 Aug 15 17:00 bakupdb.sh

定义 crontab 任务:

[root@ backup]# crontab -l

20 17 * * * /alidata/backup/bakupdb.sh

最后检查一下成果:

[root@ backup]# ls -l

total 30212

-rw-r--r-- 1 root root 0 Aug 15 17:01 alldb-2019-08-11.sql.gz

-rw-r--r-- 1 root root 30892895 Aug 15 17:20 alldb-2019-08-15.sql.gz

-rwxrwxr-x 1 root root 235 Aug 15 17:00 bakupdb.sh

It works .再做一个 rsync ,把备份同步到远程。总算踏实了一点点。


历史上的今天...
    >> 2014-08-15文章:
    >> 2013-08-15文章:
    >> 2007-08-15文章:
    >> 2006-08-15文章:
           在北京 见到彩虹
    >> 2005-08-15文章:
           孟静其人

By eygle on 2019-08-15 18:33 | Comments (0) | Backup&Recovery | 3355 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com