我正在使用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新手。
答案 0 :(得分:0)
通常cron
的问题是你有一个有限的$ PATH。尝试设置:
PATH = / USR / bin中:/ bin中:/该/目录/含有/ contactdevice
然后删除./
答案 1 :(得分:0)
parallel
实用程序安装在用户的bin文件夹而不是/usr/bin
中。在/usr/bin
中安装该实用程序解决了这个问题。或者,我们可以通过在调用它时指定parallel
的位置来解决问题。