当前位置: 技术问答>linux和unix
crontab里面的程序不运行,手动执行脚本会运行,谁知道原因?
来源: 互联网 发布时间:2016-07-13
本文导语: crontab里面的程序不运行,手动执行脚本会运行,谁知道原因? | 怀疑你的脚本内容有问题。 你把脚本内容改成一行试试 echo "hello" | crontab 贴出来看看。 没准有语法错...
crontab里面的程序不运行,手动执行脚本会运行,谁知道原因?
|
怀疑你的脚本内容有问题。
你把脚本内容改成一行试试
echo "hello"
你把脚本内容改成一行试试
echo "hello"
|
crontab 贴出来看看。
没准有语法错误呢。还有相对路径的问题。
没准有语法错误呢。还有相对路径的问题。
|
一般来说都是因为环境变量的问题。你可以在脚本中先加载相应的环境变量,然后执行脚本后面的内容。
|
把你添加到crontab中的代码贴出来
另外在crontab中执行的shell脚本要写全路径
楼上说的也很有道理
另外在crontab中执行的shell脚本要写全路径
楼上说的也很有道理
|
#ls -lZ /crm1app/yangli/MoniCRM_130.86.13.4.sh
让我看看权限。
#getfacl /crm1app/yangli/MoniCRM_130.86.13.4.sh
再看看acl的权限。
让我看看权限。
#getfacl /crm1app/yangli/MoniCRM_130.86.13.4.sh
再看看acl的权限。
|
看看权限,再看看 cron里面有没有特殊字符,如全角空格等 你删除后重新输入看看
|
0,10,20,30,40,50 * * * * /bin/bash /crm1app/yangli/MoniCRM_130.86.13.4.sh 加上bash的绝对路径吧
|
看来你还真的是新手。这样吧
0,10,20,30,40,50 * * * * /bin/sh /crm1app/yangli/MoniCRM_130.86.13.4.sh
0,10,20,30,40,50 * * * * /bin/sh /crm1app/yangli/MoniCRM_130.86.13.4.sh
|
crond服务有没有运行?
要开启crond服务
service crond start
要开启crond服务
service crond start
|
at cron 执行命令的时候,把命令的绝对路径加上!否则有时候执行不了!
|
忘记怀疑这个了。
楼主啊,你一定要看看crond服务起来了没。否则我们都白忙活了
|
跟我的问题一样。
我把脚本拷贝到/bin/bash中都没用。
我把脚本拷贝到/bin/bash中都没用。
|
提示的错误信息难道你看不懂吗
错误是ls没有-Z这个参数
|
-Z没有的话,表示不是最头疼的selinux的问题。
那你就用
#ls -l
那你就用
#ls -l
|
你手动执行的时候是./MoniCRM.sh 还是全路径/crm1app/yangli/MoniCRM.sh的方式执行的?
|
如果CRON尝试去运行你这条命令的话会有邮件的,用mail看有没有报告,把内容贴上来
|
如果Crontab能够运行的话,就应该有两种可能了
一是环境变量,一是权限,你是使用什么方式添加的cron,试着去指定执行的用户
一是环境变量,一是权限,你是使用什么方式添加的cron,试着去指定执行的用户