欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

linux每天定时备份数据库并删除十天前数据详细步骤

程序员文章站 2022-07-05 08:20:46
每天定时备份数据库需要用到linux的定时任务,利用linux的crondtab 命令。下面我们来看详细步骤: 一、写好shell脚本 mysqlbak.sh...

每天定时备份数据库需要用到linux的定时任务,利用linux的crondtab 命令。下面我们来看详细步骤:

一、写好shell脚本 mysqlbak.sh

#!/bin/sh
mysqldump -uroot -pmysqlroot xhblt | gzip > /mysqlbak/`date '+%y-%m-%d_%h:%m:%s'`.sql.gz
find /mysqlbak/ -mtime +10 -name "*.sql.gz" -exec rm -rf {} \;

脚本解析:

mysqldump -uroot -pmysqlroot xhblt | gzip > /mysqlbak/`date '+%y-%m-%d_%h:%m:%s'`.sql.gz

此举含义为下载数据库文件,将数据库文件以”年-月-日-时-分-秒.sql.gz”的名称存在根目录下的mysqlbak文件夹中,数据库的登录备份信息为:(用户名:root 密码:mysqlroot 需要备份数据库名称为:xhblt)

find /mysqlbak/ -mtime +10 -name "*.sql.gz" -exec rm -rf {} \;

含义为:找到根目录下mysqlbak文件夹中的数据然后删除10天前的数据

二、目录创建以及文件上传

1、在根目录下创建文件夹 mysqlbak作为备份目录,目录权为777

mkdir /mysqlbak;
chmod 777 /mysqlbak;

2、文件上传

将写好的shell脚本放在 /etc 目录下,并且赋予权限 777

chmod 777 /etc/mysqlbak.sh

三、加入定时任务

1、输入 crontab –e 命令加入

0 3 * * * /etc/mysqlbak.sh //每天凌晨三点执行shell文件

然后”:wq!”保存退出

2、输入 service crond restart 重启定时服务

总结

以上所述是小编给大家介绍的linux每天定时备份数据库并删除十天前数据,希望对大家有所帮助