Linux - Mysql自动备份

Linux 2018-01-19

之前就做过一个博客 由于是第一次做 也没在意什么 写过几个文章 由于是用的linux部署的 本人 又不怎么会linux 在加上时间不充足 就没做数据库备份什么的 后来由于不知道框架出什么问题了 好好的打不开 我又是一个linux白痴 所以直接重装系统了 然后数据也丢了 这次想好好搞一个博客 为了避免数据丢失 专门百度搜索了一下 详细的就看链接:LINUX - MYSQL数据自动备份 我在它的原基础上加了点东西 因为我是博客 他是1分钟备份一次 我改了 每天凌晨2点更新一次 服务器内存又有限 然后每个月1号 15号 凌晨三天整 删除一下7天前的备份数据 里面用到了linux基础命令,VI编译器和crontab的基本操作 不懂 不会的自行百度 下面就开始操作把!

1.创建备份目录

cd /home
mkdir backup
cd backup

2.创建备份Shell脚本

注意把以下命令中的DatabaseName换为实际的数据库名称;
当然,你也可以使用其实的命名规则!

vi bkDatabaseName.sh

输入/粘贴以下内容:

mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

注意:
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名;

3.创建删除7天前的数据Shell脚本

vi Delete.sh

输入/粘贴以下内容:

find /home/backup -mtime +7 -name "DatabaseName_*" -exec rm -rf {} \;

Linux删除N天前的文件

4.添加可执行权限

chmod u+x bkDatabaseName.sh
chmod u+x Delete.sh

添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

./bkDatabaseName.sh
./Delete.sh

5.添加计划任务

检测或安装 crontab

确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装

# crontab
-bash: crontab: command not found

如时没有安装 crontab,需要先安装它,具体步骤请参考:
CentOS下使用yum命令安装计划任务程序crontab
使用rpm命令从CentOS系统盘安装计划任务程序crontab

添加计划任务

crontab -e

这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:

0 2 * * * /home/backup/bkDatabaseName.sh
0 3 1,15 * * /home/backup/Delete.sh

具体是什么意思呢?
意思是每天凌晨2点整执行一次shell脚本“/home/backup/bkDatabaseName.sh”,每个月1号 15号凌晨3点整执行一次Shell脚本“/home/backup/Delete.sh”。

6.查看已存在计划任务

列出已存在计划任务

crontab -l

本文由 布墨 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。
阅读:443

还不快抢沙发

添加新评论