2017-03-22 12 views
0

私は「SpecificDirectory」から設定ファイルを使用して「MYAPP.EXE」とxmlファイル(「にMyXML」)を作成するのcrontabにshスクリプトを起動します。シェルスクリプトからXMLの処理を開始できますか?

#!/bin/bash 

cd ~/MyDirectory 
mono MyApp.exe ./SpecificDirectory 

をそしてにMyXMLを処理し、別のcronタブがありますファイルをデータベースに追加します。それはcrontabファイルで実行されていないので、

1 7 * * * php /var/www/html/artisan xml:process MyXML >> /var/log/xml-process.log 2>&1 

私は、シェルスクリプトにその職人のxmlプロセスを追加することができますが、exeファイルはにMyXMLの作成が完了した直後に?

「はい」の場合、どのように表示されますか?

xmlがまだ完全に作成されていない場合でも、作成に時間がかかることがあり、xml:プロセスが開始されることがあります。

私はUbuntu 16.04を使用しています。

+1

追加できる場合はあなただけを求めています ' php/var/www/html/artisan xml:MyXML >> /var/log/xml-process.log 2>&1'をスクリプトの最後まで処理しますか?そうであれば、答えはイエスです。私は出発点としてラインを追加することをお勧めします。また、スクリプトを実行するユーザーと同じユーザーとして対話形式でコマンドを実行することもできます。 –

+0

はい。私はそれを正確に求めていた。 :-)私はあなたのコメントの残りの部分が何を意味するのか分かりません。申し訳ありませんが、私は絶対初心者です。少し詳しく説明できますか?たぶん答えとして、私は最高の答えとしてマークすることができます。 – Hunnenkoenig

+0

問題は、基本的に "私はシェルスクリプトからコマンドを実行できますか?"という答えが "はい"であるということです。私はちょうどターミナルとは別に 'php'コマンドを実行して、スクリプトの最後に追加して全体を待つのではなく、動作しているかどうかを確認することを提案していました。 2つのものが互いに依存している場合、別々にスケジュールされることは意味がありません。 –

答えて

1

私が理解しているように、あなたは現在cronから別々にスケジュールされた2つのタスクを実行しています。

シェルスクリプトには一連のコマンドが含まれていますが、特に指定しない限り、シェルスクリプトには表示される順に1つずつ実行されます。

monoコマンドが完了した後、あなたのphpコマンドは常にそしてちょうどそのスクリプトの一番下に追加し、別のcronエントリを削除し、実行する必要がある場合は、次の

#!/bin/bash 

cd ~/MyDirectory 
mono MyApp.exe ./SpecificDirectory 

# it may be necessary to change directory here 
# (but it doesn't look like it, since you're using absolute paths) 
php /var/www/html/artisan xml:process MyXML >> /var/log/xml-process.log 2>&1 
関連する問題