一、创建备份脚本(vip_back.sh)
#!/bin/bash
# Name:vip_back.sh
#
#备份地址
backupdir=/lyj/mysqlbak
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%s `
#需要备份的数据库名称
db_name=vip
#MysqL 用户名
db_user=root
#MysqL 密码
db_pass=密码
mysqldump -u $db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz
#删除一天之前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mtime +1 -exec rm -rf {} \; > /dev/null 2>&1
二、使用
crontab命令定时调用脚本
# 查看定时任务
crontab -l
#编辑添加定时任务
crontab -e
#编辑crontab文件设置每天晚上九点执行备份脚本
* 21 * * * /lyj/vip_back.sh
新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行 systemctl restart crond
三、
crontab文件参数配置说明
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
四、 备份数据0kb问题
chmod +x 脚本文件名
//例如
chmod +x dbbackup.sh
//数据文件夹设置777权限
sudo chmod 777 文件夹名称