日期:2014-05-16  浏览次数:20560 次

shell的crontab定时执行错误
我写了一个shell脚本,当前用户直接可以正确执行

如果写到crontab里就无法正确执行,这个要怎么办啊?

没有sudo权限,

我在shell脚本里加了这一句也不行source /home/user/.bash_profile

.bash_profile是这样的。
$ cat /home/user/.bash_profile
Assembly code

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH


------解决方案--------------------
这个shell文件的权限是多少呀 有其他用户的执行权限么?
一般shell权限设定是755吧 这样写在crontab里应该可以被执行
------解决方案--------------------
你的shell在哪里?crontab是如何写的?要确保crontab可以找到那个执行脚本的路径。
------解决方案--------------------
你添加的是定时任务脚本?
先看看系统时间是不是正确的,
然后确定对应目录下文件是真实存在的,
接下来你的那个文件是属于哪个用户的就在前面加上 su xxx -c 
其中xxx是用户名 例如:
0 5 su xxx -c * * * /home/user/wc.sh
然后试试看是不是成功的。