我写了一个包含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();
});
答案 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
(或不是)的问题。