2016-06-01 19 views
0

私は、Ubuntu 14.04でcronjob(startTest.sh)として動作する2番目のbashスクリプトからbashスクリプト(test.sh)を起動しようとしています。 コマンドラインから呼び出された場合、Cronは実行されており、両方のスクリプトが完全に機能します。bashスクリプトからbashスクリプトをcronjobとして起動する

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は次のようになります。この

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

ありがとうございました。問題の説明を追加すると良いでしょう。 – sjsam

+0

この方法の問題点は何ですか?おそらく、あなたは '/'でファイルを作成しています。 – fedorqui

答えて

2

ベストプラクティスは、一般的ではないよう

#!/bin/bash 

touch it_works.txt 

私のcrontabエントリを検索しますスクリプト内で相対パス(明示的にを実行しない限り)を使用するには、cronジョブとして実行します。

crondは、期待するディレクトリから実行されていない可能性があります。このcronジョブがどのユーザーに実行されているかに応じて、このスクリプトはを現在の作業ディレクトリに作成する権限を持っていないか、ファイルを作成していて間違った場所を探しています。

+0

また、opがスクリプトに対して 'chmod + x'を実行するのを忘れた可能性もあります。 – sjsam

+2

@sjsam OPは手動で実行したときに動作すると言っていたので、ファイルのアクセス権はおそらく問題ではありません。 –

+0

ポイントが記載されています。 :-)私はその部分を見落とした。 – sjsam

関連する問題