普通用户crontab任务不执行


今天发现在linux下,普通用户的crontab任务不执行。网上搜了好多,好多说要在执行的脚本前面加上如下内容

if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi

加了之后测试,没有任何作用。不知道是不是只有执行脚本在用户根目录才有作用。

最后发现要在脚本开头加入以下内容才可以

#!/bin/bash
#set -x
source ~/.bash_profile

其中第一行的作用是指明此脚本使用/bin/bash来解释执行。

第二行可以没有

第三行是引入用户环境变量。

还要注意一点就是:脚本要是unix格式而不能是dos格式。

相关内容