linux定时备份MySQL数据库并删除以前的备份文件(推荐)
【Linux定时备份MySQL数据库并删除旧备份】 在Linux系统中,定期备份MySQL数据库是一项重要的维护工作,以确保数据的安全性和可恢复性。本教程将详细讲解如何设置Linux定时任务来自动备份MySQL数据库,并且在备份完成后自动清理过期的备份文件。 你需要选择一个足够大的存储空间来保存备份文件。通常,我们会创建一个新的目录作为备份存储点,例如`/root/application/bak/mysql`。使用`mkdir`命令创建这个目录: ```bash mkdir /root/application/bak/mysql ``` 接下来,确保系统已经安装了`crond`服务,它是Linux的定时任务管理器。通过以下命令检查`crond`是否已安装: ```bash rpm -qa | grep cron ``` 如果没有安装,可以使用以下命令安装: ```bash yum -y install vixie-cron yum -y install crontabs ``` 然后,编写备份脚本。打开编辑器(这里使用`vi`),创建名为`name.sh`的文件,并将其放置在`/var/spool/cron`目录下: ```bash vi /var/spool/cron/name.sh ``` 在文件中输入以下内容: ```bash #!/bin/bash # Name:name.sh # This is a ShellScript For Auto DB Backup and Delete old Backup backupdir=/root/application/bak/mysql time=$(date +%Y%m%d%H) /usr/local/mysql/bin/mysqldump -u root -p123456a test | gzip > $backupdir/name1$time.sql.gz find $backupdir -name "name_*.sql.gz" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1 ``` 上述脚本中,`/usr/local/mysql/bin/mysqldump`是MySQL的bin目录,`-u root -p123456a`指定了数据库的用户名和密码,`test`是数据库名称。`-mtime +7`表示查找7天前的文件并删除。请根据实际情况修改这些参数。 赋予脚本执行权限: ```bash chmod +x /var/spool/cron/name.sh ``` 接下来,编辑`/etc/crontab`文件,添加定时任务: ```bash vi /etc/crontab ``` 在文件末尾添加一行: ```bash 00 3 * * * /var/spool/cron/name.sh ``` 这将让脚本在每天的3点00分执行。如果你想每分钟测试一次,可以暂时改为`* * * * *`。 重启`crond`服务以使改动生效: ```bash service crond restart ``` 测试完成后,记得将`-mtime +7`改为实际的备份保留天数,以及将定时任务调整为合适的执行时间,例如`00 3 * * *`,以在每天凌晨3点进行数据库备份。 总结: 通过上述步骤,你已经学会了如何在Linux上设置定时备份MySQL数据库以及清理旧备份文件。确保定期检查备份任务的运行状态,以确保数据安全。同时,别忘了对敏感信息(如数据库密码)进行妥善管理和保护。
- 粉丝: 3
- 资源: 926
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助