我的linux定时任务不起作用是为啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的linux定时任务不起作用是为啥?相关的知识,希望对你有一定的参考价值。

我在root下输入crontab -e
键入*/1 * * * * /home/mission.sh
那个文件内容是echo "hello world">/dev/pts/1
目的是每分钟在屏幕上打印出hello world 但是死活就是不执行
cron进程始终是开着的

    手动执行下/home/mission.sh,看是否会在屏幕上打印出hello world(也用root用户,且环境变量切成root用户的环境变量)

    crontab -e设置后,下个一分钟是不会生效的,需要等到下下一分钟才会生效

    在.sh脚本里,echo前加一句touch /home/test.txt,看该文件是否会生成(如果该文件生成了,那说明显示有问题,如不在/dev/pts/1里等,touch 文件肯定是对的)

 

有问题再追问,谢谢!

参考技术A

    查看下已经设置好的计划任务

    cat /etc/crontab

    重启下计划任务服务

    /etc/init.d/crond restart


    上面一步如果OK就不用这步

    查看下日志找到错误原因

    cat /var/log/cron


参考技术B 检查方式:
1、文件的执行权限
2、crontab的日志
3、路径是否正确
4、crontab 重新配置完毕之后建议重启进程:service crond restart
参考技术C 先手动运行sh /home/mission.sh测试你的脚本是不是正常运行

crontab -l 查看你是否加入了自动任务

还有你的时间设置是不是不对啊,参照一下这个
0 11 * * * /usr/bin/errclear -d S,O 30
0 12 * * * /usr/bin/errclear -d H 90
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/sbin/dumpctrl -k >/dev/null 2>/dev/null
0 15 * * * /usr/lib/ras/dumpcheck >/dev/null 2>&1
0 0 * * * /usr/es/sbin/cluster/utilities/clcycle 1>/dev/null 2>/dev/null # HACMP for AIX Logfile rotation
* * * * * sh /home/oracle/rm.sh
参考技术D crontab设置对了吗?还有脚本是不是有错误?执行权限给了吗?

9-centos定时任务-不起作用- 没指明路径!!!

crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。


service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start

  

以上1-4行分别为启动、停止、重启服务和重新加载配置。

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可

查看当前用户的crontab,输入 crontab -l

编辑crontab,输入 crontab -e

删除crontab,输入 crontab -r

添加任务

 crontab -e
 0 */1 * * * command
 0 */2 * * * command

查询任务是否加了:

 crontab -l -u root #查看root用户
 0 */1 * * * command
 0 */2 * * * command

注意:执行的任务要指明路径,不然不起作用的:

基本格式 :

*  *  *  *  *  command

分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

 

如果还有问题请看:13-linux定时任务不起作用到的问题解决办法

 
 

以上是关于我的linux定时任务不起作用是为啥?的主要内容,如果未能解决你的问题,请参考以下文章

Linux定时任务Crontab不起作用的排查步骤

9-centos定时任务-不起作用- 没指明路径!!!

linux 下cron定时任务为啥没执行

linux定时任务不执行

Spring定时任务为啥没有执行

idea 断点一个定时任务不起做用