1.创建备份目录
mkdir /usr/local/backup
进入备份目录 cd /usr/local/backup
2.创建shell脚本
vi backup.sh
编写脚本命令(备份文件并压缩,删除三天前的备份文件)
#!/bin/bash
DUMP=/usr/local/mysql/bin/mysqldump #可全局搜索路径find / -name mysqldump
DATE=`date +%Y-%m-%d` #时间
DB_PATH=/usr/local/backup/ #备份地址
DB_NAME=test #数据库名称
DB_USER=root #数据集登录名
DB_PWD=123456 #数据库密码
OUT_SQL=test.sql.gz
#创建备份文件夹
mkdir $DB_PATH$DATE
#数据库备份,加-R将导出存储过程和函数,不加-R 只会导出表结构和所有数据。
$DUMP -u$DB_USER -p$DB_PWD $DB_NAME | gzip >$DB_PATH$DATE/$OUT_SQL
DAYS=3
#删除过期的文件
find $DB_PATH -name "test.sql.gz" -type f -mtime +$DAYS -exec rm {} \; #删除3天前的备份文件(注意:{} \;中间有空格)
3.可执行权限
chmod +x backup.sh
4.启动任务
./backup.sh
5.定时任务
crontab -e
每天凌晨2两点执行备份任务
00 02 * * * /usr/local/backup/backup.sh
重启定时任务
service crond restart