文章来源:https://www.cnblogs.com/foolishnoob/p/5421462.html
新建备份文件并赋予可以执行的权限
mkdir -p /home/备份文件存放文件夹/
touch /home/备份文件存放文件夹/mysql_backup.sh
chmod 551 /home/备份文件存放文件夹/mysql_backup.sh
编辑/home/mysql_backup/mysql_backup.sh
vim /home/备份文件存放文件夹/mysql_backup.sh
写入以下内容
backupdir=/home/mysql_data
time=` date +%Y_%m_%d_%H_%M_%S `
db_user=数据库用户名
db_pass=密码
/home/mysql/bin/mysqldump -u $db_user -p$db_pass 你的数据库名 | gzip > $backupdir/$time.sql.gz
find $backupdir -name "*.sql.gz" -type f -mtime +5 -exec rm -rf {} \; > /dev/null 2>&1
编辑crontab
crontab -e
在最后一行加入
1 1 * * * /home/备份文件存放文件夹/mysql_backup.sh
重启crontab
service crond restart
3.3 crontab 简单说明
来源:https://blog.youkuaiyun.com/renfufei/article/details/23701765
# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
可以发现,crontab 的执行周期有5个部分组成,其中第一个是分钟数,第二个是小时数,第三个是一个月中的第几天。。。 如果是 * 就表示每天都会调度。
user-name 部分,如果需要以其他用户调度,则可以指定,否则不能指定,比如 root 用户就不能指定 root,否则有调度日志,但是没有实际执行。