[前言]
利用crontab和mysqldump定时打包备份数据库,并且实现某个特定时间循环,定时删除旧的备份文件
[环境]
centos all
[版本]
系统自带
[功能]
1、编辑mysql配置文件,设置mysqldump用户名和密码,可能需要重启mysql服务
vim /etc/my.cnf
2、编辑备份shell命令,实现定时备份某个数据库,并且删除过期的备份数据库
#新建备份shell文件 sudo vim xx.sh #赋予可执行权限,最好是全放开 chmod 777 xx.sh
#/bin/bash
# 备份-数据库
DATE=`date %Y%m%d_%H` #every minute
DATABASE=database_name #database name
DB_USERNAME=user_name #database username
DB_PASSWORD="password" #database password
BACKUP_PATH=/www/backup/sql #backup pathhome/backup
mysqldump blog > /www/backup/sql/${DATABASE}_${DATE}.sql
# 删除sql前三天备份
find /www/backup/sql -mtime 2 -name "*.sql" -exec rm -rf {} \;
3、命令行输入crontab -e,编辑定时任务文件,在编辑界面输入i,编辑定时任务代码,编辑完成,输入:wq
,保存并退出
4、命令行输入sh xx.sh,去备份目录查看是否备份成功
5、关于crontab各项参数说明,编辑定时任务文件,在编辑界面输入i,编辑定时任务代码,编辑完成,输入:wq
,保存并退出
* * * * * - - - - - | | | | | | | | | ---- 星期中日期值(0-7,星期日可以是0或7) | | | ------ 月份(1-12) | | -------- 一个月中的日期(1-31) | ---------- 小时(0-23) ------------ 分钟(0-59)
[其他]
本站不直接提供下载,所有下载链接均为第三方