2016-08-05 43 views
0

我寫了一個Shell腳本,包括phantomjs,現在我希望它在特定時間每天運行。我用crontab中,並編輯我得到的文件調用使用Crontab調度腳本 - SIGABRT內部錯誤

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 . 

,這就是所謂的開始

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

請嘗試以下單獨phantomjs文件str8ts.js:

找到你默認bash使用位置which

which bash

這會告訴你bash的位置,例如, /bin/bash

添加完整的路徑調用bash到你的crontab條目(注意-c也)

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

我們只是想消除這個問題是bash(或沒有)在您的crontab項。

+0

這給了我和以前一樣的錯誤信息。但我想這意味着,問題是幻像,不是嗎? – lenala

+0

除非我們可以看看調用phantomjs的'bash'代碼'str8ts2.bash' ... – tale852150