2016-03-28 22 views
0

Winタスクscedulerで毎週perlスクリプトを実行するタスクをスケジュールしたいと思います。Winタスクscedulerでperlスクリプトを開始

perl update_blastdb.pl --passive --decompress refseq_rna 

私は上記の3つの引数渡すことができますどのように:

--passive --decompress refseq_rna 

EDIT1:

は私が含まれているbatファイルを書いたの perlスクリプトを使用して、コマンドラインから手動で実行されています
@echo off 
cd "C:\inetpub\wwwroot\webclient\db\nucleotide" 
call "C:\Strawberry\perl\bin\perl.exe" "C:\inetpub\wwwroot\webclient\db\nucleotide\update_blastdb.pl" --passive --decompress gss_annot> C:\perl_out.log 2>&1 

Windowsタスクスケジューラでタスクをスケジュールして、batファイルを実行します。 まず、実行する時間を指定すると、時間が経過してタスクが実行されません(ステータス:準備完了)。 2番目に、タスクを右クリックして実行をクリックすると手動でタスクを実行すると、ステータスが(実行中)に変わりますが、作成したエラーログとperl_out.logを確認するために実行されないようですそれが作成されていないことがわかった。

お願いします。

Edit3: 「基本タスク」としてタスクを作成すると正常に実行されました。 ありがとう

答えて

1

スケジューリングされたタスクの実行可能ファイルを単に "perl"にし、残りのすべて(Perlスクリプトを含む)を引数に渡します。 ArgはWindowsのバージョンによって異なって指定されているので、その部分を調べる必要がありますが、Task GUIにはそのすべてがあります。

カップル他の提案:

  1. はあなたのコマンドの周りにDOSバッチスクリプト "ラ​​ッパー" を作成します。 BATスクリプトはタスクGUIで指定する方が簡単で、管理者が手動で起動する方が簡単です。
  2. 標準出力と標準エラーをログファイルにリダイレクトして、何が起こっているのかを監視することも検討してください。場合によっては、(PerlやPerlスクリプトの問題のような)タスクの起動に関する問題をデバッグするために必要なこともあります。
  3. ボーナスポイントの場合は、ログファイルを別のプログラムで監視してください。何か問題があるとすぐに通知することができます。

編集:オペレーションの編集ごとにタスク設定に関する詳細を追加します。

BATスクリプト内ではなく、タスク設定ですべてのリダイレクトを実行します。私はcallをmt BATラッパーに含める必要はなく、perl.exeを明示的に含めることさえありません。ここで

は、例えば、タスクの設定です: enter image description here

ここでは例のBATラッパーです:親切に、私の記事で編集1を参照してください

@echo off 

date/t 
time/t 

echo. 
disk_space.pl C: 
disk_space.pl D: 

echo. 
echo Done. 
exit/b 
+0

。 – Alaa

関連する問題