Cron 定时服务和数据库备份
CentOS的定时服务名叫crontab,首先在命令行输入 crontab
检查是否已安装,如果提 示command not found
说明未安装。
一. 安装 Crontab
yum install vixie-cron
yum install crontabs
二. 日常启停
systemctl start crond
systemctl stop crond
systemctl restart crond
三. 创建备份脚本
例如创建脚本文件 backup.sh,内容如下:
#!/bin/bash
#This is a comment: The first line is required
db_user="xxx"
db_pass="xxx"
db_name="xxx"
path="/data/backup"
time="$(date +"%Y%m%d%H%M%S")"
mysqldump -u$db_user -p$db_pass $db_name > "$path/$db_name"_"$time.sql"
修改backup.sh文件属性为可执行(以下任选其一)
chmod +x backup.sh
chmod 777 backup.sh
执行 ./backup.sh
测试脚本是否运行正常,若出现以下错误,大多是因为文件格式有误:
-bash: ./backup.sh: /bin/bash^M: bad interpreter: No such file or directory
使用以下命令进行修改:
vi backup.sh
:set fileformat=unix
:wq
四. 添加或修改定时任务
命令行中输入 crontab -e
,在文件内添加或修改以下内容:
30 7 * * * /data/backup/backup.sh
保存退出即可生效,无需重启 crontab 服务。crontab 文件格式如下:
列数
说明
1
分钟,值为1~59,每分钟用 * 或者 */1 表示,整点分钟为00或0,下同
2
小时,值为0~23
3
日,值为1~31
4
月,值为1~12
5
星期,值为0~6(0表示星期天)
6
要执行的脚本
最后更新于
这有帮助吗?