微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS之——crontab执行计划任务

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/79566313

需求是每天的23点59分执行定时任务。

1、安装

yum install crontabs
2、服务相关
/sbin/service crond status       #查看任务状态
/sbin/service crond start        #启动服务
/sbin/service crond stop         #关闭服务
/sbin/service crond restart      #重启服务
/sbin/service crond reload       #重新载入配置
3、查看计划任务。基本命令行参数建议使用crontab --help查看,man crontab太繁琐。
crontab -l                 #查看当前用户计划任务
crontab -u username -l        #查看userx用户的计划任务
4、查看任务执行日志。
5、/etc/crontab文件里面存放系统计划任务,/var/spool/cron/目录里面按用户存放计划任务
6、编辑/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
 
59  23  *  *  *  root /home/script/test.sh
/var/spool/cron/目录里面的计划任务文件内容格式与上面雷同。区别是,/var/spool/cron/必须指定用户;/etc/crontab是系统计划任务,可以不指定用户
7、这里遇到一个问题,调用jar包失败。原因是crontab的环境变量问题,可参考 Linux中crontab的坑爹环境变量问题。walker只在脚本中加了下面一句导入环境变量:
source /etc/profile
这时如果还是手动执行脚本OK,但是crontab死活不执行。可以尝试在crontab中直接引入环境变量解决问题。如:
59 23 * * * . /etc/profile;/bin/sh /home/script/test.sh

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。