2016-06-01 102 views
0

我試圖從第二個bash腳本啓動bash腳本(test.sh),該腳本作爲Ubuntu 14.04上的cronjob(startTest.sh)運行。 Cron正在運行,如果從命令行調用,兩個腳本都可以很好地工作。作爲cronjob從bash腳本啓動bash腳本

startTest.sh看起來是這樣的:

#!bin/bash 
SHELL=/bin/bash 
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/home/username/path/to/script 

bash /home/username/path/to/script/test.sh 

test.sh看起來是這樣的:

#!/bin/bash 

touch it_works.txt 

我的crontab條目看起來像這樣

* * * * * /usr/local/bin/startTest.sh 
+1

感謝您的信息。如果您也添加問題描述,這將會很好.. – sjsam

+0

這種方法有什麼問題?最有可能的是,你正在用'/'創建文件。 – fedorqui

回答

2

最佳實踐一般不在作爲cron作業運行的腳本中使用相對路徑(除非您執行明確的cd)。

crond可能不會從您期望的任何目錄運行。根據此cron作業運行的用戶,該腳本或者沒有權限在crond的當前工作目錄中創建it_works.txt,或者它正在創建該文件,並且您正在查找錯誤的地方。

+0

此外,有可能忘記爲腳本執行'chmod + x'。 – sjsam

+2

@sjsam OP在手動運行時會說它有效,所以文件權限可能不是問題。 –

+0

注意點。 :-)我忽略了那部分。 – sjsam