使用Crontab调度脚本 - SIGABRT内部错误

时间:2016-08-05 12:12:13

标签: bash phantomjs crontab scheduling

我写了一个包含phantomjs的Shell脚本,现在我想让它在特定的时间每天运行。我使用了crontab,并在调用

后编辑了我得到的文件
crontab -e

包括

56 13 * * * /home/lena/Str8ts_Project/str8ts2.bash

如果我手动运行脚本,它运行正常,但是一旦安排了脚本,我就会收到一条Ubuntu错误消息,标题为 phantomjs,并在GI_raise()中与SIGABRT崩溃。

显然phantomjs出了问题,但我不知道它是什么。

我在联想ThinkPad上使用Xfce运行Ubuntu 16.04。

感谢您的帮助。

编辑:str8ts2.bash的代码

!/bin/bash

### Create Image
phantomjs str8ts.js

### Crop and keep big image
#convert file_name.png -crop 414x419+318+712 cropped.png

###  Crop and discard big image
mogrify -crop 414x419+318+712 *.png

### change to directory for files and move png there
cd Str8tsFiles 
mv /home/lena/Str8ts_Project/*.png .

单独的phantomjs文件str8ts.js在开头调用

var currentTime = new Date();
currentTime = currentTime.toDateString();
currentTime = currentTime.replace(/\s+/g, '_');
var file_name = currentTime + "str8ts.png";

var page = require('webpage').create();
page.open('http://www.str8ts.de/', function() {
   page.render(file_name);
   phantom.exit();
});

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

使用bash

找到您的默认which位置

which bash

这会告诉您bash的位置,例如/bin/bash

bash的完整路径名调用添加到您的crontab条目中(另请注意-c

56 13 * * * /bin/bash -c /home/lena/Str8ts_Project/str8ts2.bash

我们只想消除bash条目中crontab(或不是)的问题。