GNU Parallel以交互方式在脚本中运行,但不是通过crontab在同一脚本中运行

时间:2014-12-16 03:01:56

标签: parallel-processing cron crontab gnu-parallel

我正在使用GNU Parallel版本20141122在一个更大的脚本中并行压缩100个IP地址。

当我以交互方式执行脚本时,Parallel会在日志文件中生成预期结果。

当我通过crontab作业运行相同的脚本时,没有任何条目添加到日志文件中,尽管脚本的其余部分会为所有非并行相关的任务生成预期的结果。

脚本中执行Parallel的行是

parallel -j30 < contactdevices.input

文件contactdevices.input包含100行,如下所示:

./contactdevice.sh  155.156.157.158

contactdevice.sh卷曲IP地址并将一行结果附加到日志文件中。

我的Amazon AMI环境支持40多个此类同步作业。

为什么Parallel在交互式运行时在我的脚本中工作但在通过crontab执行相同脚本时似乎根本不运行?

感谢您的帮助。我几乎是一个linux和bash新手。

2 个答案:

答案 0 :(得分:0)

通常cron的问题是你有一个有限的$ PATH。尝试设置:

PATH = / USR / bin中:/ bin中:/该/目录/含有/ contactdevice

然后删除./

答案 1 :(得分:0)

parallel实用程序安装在用户的bin文件夹而不是/usr/bin中。在/usr/bin中安装该实用程序解决了这个问题。或者,我们可以通过在调用它时指定parallel的位置来解决问题。