linux cron计划任务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux cron计划任务相关的知识,希望对你有一定的参考价值。
$ crontab -e
例如:每天两点钟执行
0 2 */1 * * /usr/bin/python /www/tbktsh/sendms.py &> /dev/null
01 * * * * root run-parts /etc/cron.hourly # 每小时执行/etc/cron.hourly内的脚本,"run-parts"这个参数是指执行文件夹下的所有文件,不加此参数则需要给出明确的执行脚本文件。
$ service crond restart or /etc/init.d/crond restart # 重启计划任务
注意设置脚本文件的可执行权限哦,不然可能会不能正常执行。
第一列代表分钟(0-59)
第二列代表小时(0-23)
第三列代表天(1-31)
第四列代表月(1-12)
第五列代表周(0-6) 0表示周日
“*”代表所有的取值范围内的数字。如果直接用“*”则相当于“*/1”
“/”代表每的意思
“*/5″表示每5个单位
“-”代表从某个数字到某个数字
“,”分散的数字
# 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
# | | | | |
# * * * * * command to be executed
如果已root身份直接使用crontab -e 则相当于编辑/var/spool/cron/root文件,这属于用户级别计划任务。
如果设置系统级别计划任务则编辑/etc/crontab。
cron会定时每分钟扫描下/var/spool/cron/文件夹内的所有文件(每个用户会有一个以用户名命名的定时任务文件)和/etc/crontab文件。
用户计划任务与系统计划任务的区别是给不同的人发送任务信息邮件,系统计划任务是给系统管理员发送,用户的计划任务是给当前用户发送任务信息邮件。
1.直接用crontab命令编辑
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
计划日志相关
/var/log/cron 文件是所有计划任务的执行记录
/var/log/cron.1 /var/log/cron.2 /var/log/cron.3 /var/log/cron.4 这几个文件是归档文件
当crond执行任务失败时会给用户发一封邮件,如果crond发邮件失败了,则可通过mail日志查看,可以使用tail -f /var/spool/mail/root 即可查看具体的错误信息。
在crontab中的任务增加自己的日志,这样出错后,比较容易看到原因,把错误输出和标准输出都输出到mylog.log中。
0 6 * * * /www/shservice/task.sh >> /tmp/mylog.log 2>&1
补充知识:anacron 可以唤醒关机期间的工作任务
以上是关于linux cron计划任务的主要内容,如果未能解决你的问题,请参考以下文章