CentOS 7 定时执行指定的脚本并用指定的日志文件记录脚本执行情况
CentOS 7 定时执行指定的脚本并用指定的日志文件记录脚本执行情况
执行命令 vim /etc/crontab,进入crontab编辑状态
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# 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
30 3 * * * root /sqlbak/backup.sh >>"/sqlbak/logs/backup$(date +"%Y%m%d%H%M%S").log" 2>&1
20 12 * * * root /sqlbak/b.sh >/sqlbak/logs/bk$(date +"%Y%m%d%H%M%S").log 2>&1
前三排是crontab文件自带的,不要动。
后面加#的内容表示注释,是举例说明写一个定时任务的格式,任务分成 三部分:定时表达式、用户名(以谁的名义执行,执行后会发邮件到/var/spool/mail/<用户名>)和要执行的命令。定时表达式是cron格式,按分 时 日 月 周排列,中间用空格分开。用户名这里用的root。命令是执行/sqlbak目录下的脚本文件backup.sh,并将执行情况(包括错误信息)写入/sqlbak/logs目录下的以backup开头带当前日期的.log文件中。