linux定时任务不执行

Posted

tags:

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

脚本能手动执行,而且在另一台机器上加入定时能够执行,可是在我现在的机器上就是不能运行,在/var/log/cron可以看到其执行的信息,在/var/mail/root下看到脚本在执行时出现问题,lsof: status error on 25294: No such file or directory,cp: missing destination file operand after,当然我能看到它所描述的问题,可实际上命令不存在这些问题,我怀疑是环境变量的问题,在一开始也引入,. /etc/profile,结果还是不行。脚本权限已经是777了,帮忙想想还有什么地方我错过了,谢谢

参考技术A 手动执行你的环境变量是有的,cron里面这些环境变量就没有了,你可以用echo $<环境变量名>在你的脚本里面测试一下,输出可以定向到某个临时文件里面。 参考技术B 不要怀疑日志,你肯定是cp用法出错了,你可以试试手动执行你的命令,肯定报错!再核查一下吧,或者你把你的计划任务截图发出来 参考技术C 请 贴出你的crontab -l 的信息 ,好做分析追问

00 * * * * /opt/scripts/bin/cut_all_tomcat_logs.sh

追答

00 * * * * 你确定是这么??

分 时 日 月 周 我记得格式是5位。
你怎么弄出个6位的啊

追问

我是想让它整点执行,这个倒是能实现。打出的日志确实是可以整点执行,只是因为加入定时任务后脚本执行会出错,这个我不知道怎么解决

追答

你再看看你那几个命令 目标 目的 是不是都正确啊

追问

确实正确,毕竟手动执行了无误才加定时任务的嘛,我再试试其他方法

参考技术D 楼主不妨把脚本贴出来看看。 你cp到什么位置?追问

. /etc/profile
cp $log_dir $Cut_Log_Dir/$Cut_Logs_Type/$Local_Ip/$Day_Time/catalina.out_$AN_Hour_Ago
echo > $log_dir
字数限制,贴出关键语句

追答

楼主确定环境变量都设置正确了吗?如果是,不妨改成cp $log_dir $Cut_Log_Dir/$Cut_Logs_Type/$Local_Ip/$Day_Time/catalina.out_$AN_Hour_Ago
试试。

追问

嗯,非常确定没问题,因为手动执行是ok的,而且在另一台机器上的定时任务执行也没问题,而且两台机器的配置也完全一样,系统间的区别实在是很微妙。我先试试

追答

建议楼主以后就算用变量设置路径也要把路径设置成绝对路径。

本回答被提问者采纳

linux定时任务执行python脚本

企业微信应用--值日生,每周一三五发消息给同学打扫卫生。脚本利用linux的定时任务crontab来执行,每天跑一遍。

1.开启crontab日志。

crontab默认不开启日志,所以先开启定时任务的日志来查看

修改rsyslog服务,将 /etc/rsyslog.d/50-default.conf  文件中的 #cron.* 前的 # 删掉;用service rsyslog restart重启rsyslog服务:

2.写定时任务

crontab -e

开启本用户的定时任务,即创建以本用户名为文件名的定时任务文件,位置在/var/spool/cron/crontabs/。

定时任务语句格式为:执行周期+命令,周期有5个域,分别是

分钟,小时,日(day of month),月(month of year),周几(day of week).

每个域不加限制任意的话用*,整体格式为:

* * * * * command

比如我的脚本是 /home/xiaofeng/cleanroom.py

执行环境为 /usr/bin/python3

每天9点运行一次

则语句为

0  9  *  *  *  /usr/bin/python3  /home/xiaofeng/cleanroom.py

写完后重启cron 服务

service  cron restart

 

顺便附上常用的周期格式

每五分钟执行  */5 * * * *

每小时执行     0 * * * *

每天执行        0 0 * * *

每周执行       0 0 * * 0

每月执行        0 0 1 * *

每年执行       0 0 1 1 *

以上是关于linux定时任务不执行的主要内容,如果未能解决你的问题,请参考以下文章

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

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

linux定时任务每天的0点执行一次,怎么写

Linux定时执行shell

linux定时任务

Linux定时任务