未执行 cron 选项卡作业



我在 centOS 系统上安装了 hadoop。我有一个 shell 脚本,它将在某个特定小时文件夹位置生成的所有 HDFS 小文件合并为一个位于 hdfs 另一个位置的单个文件。 外壳在调用时工作正常。

然后,我将 shell 作为 cron 作业放置在每天凌晨 01:30 运行。

我输入crontab -e并粘贴了以下内容:

30 1 * * * /home/hadoop/tmp/cron-merge-files.sh > /home/hadoop/tmp/cron-merge-files.txt

但合并操作不会发生。我在/var/log/cron文件中看到,在上午 01:30 此条目出现,但我看不到这些文件在 hdfs 上合并。当我简单地执行 shell脚本,然后它工作正常,并执行脚本中编写的上述操作。

Jul  8 01:30:01 ip-10-1-3-111 CROND[2265463]: (hadoopuser) CMD (/home/hadoop/tmp/cron-merge-files.sh > /home/hadoop/tmp/cron-merge-files.txt)

/home/hadoop/tmp/cron-merge-files.txt 的内容是写在循环中的单个 echo 语句。循环应该运行 24 次,然后打印出来 24倍。

我不确定发生了什么。

我从另一个论坛得到了这个问题的解决方案。当通过 crontab 运行相同的脚本时,环境变量未被拾取存在一些问题。刚刚.bash_profile导出到我的脚本中,它起作用了。

最新更新