# linux每天定时备份数据库并删除十天前数据详细步骤
**一、写好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文件`
2、输入 service crond restart 重启定时服务