2016-03-28 44 views
0

我想調度任務以在Win任務調度程序中每週運行perl腳本。在Win任務調度程序中啓動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文件。 首先,當我指定時間運行它時,時間來來去去,任務不運行(狀態:就緒)。 其次,當我通過右鍵單擊任務手動運行任務並單擊運行時,狀態更改爲(運行),但似乎它不運行,因爲我檢查了我創建的錯誤日誌,perl_out.log和發現它沒有創建。

請澄清一下嗎?

編輯3: 當我創建任務爲「基本任務」時,它成功運行。 謝謝

回答

1

您希望計劃任務可執行文件只是「perl」,其餘所有(包括Perl腳本)進入參數。根據Windows版本的不同,指定的參數會有所不同,因此您需要查看該部分,但在任務GUI中它們都是正確的。

一對夫婦的其他建議:

  1. 製作一個DOS批處理腳本 「包裝」 在你的命令。 BAT腳本在Task GUI中更易於指定,管理員也可以手動啓動。
  2. 也考慮將標準輸出和標準錯誤重定向到日誌文件,以便您可以監控發生了什麼。有時候這只是爲了調試啓動任務時的問題(比如Perl或Perl腳本的問題)。
  3. 對於獎勵積分,請在單獨的程序中監控日誌文件,以便在出現問題時立即通知您。

編輯:根據操作的編輯添加有關任務設置的詳細信息。

在任務設置中執行所有重定向,而不是在BAT腳本中。我不認爲有必要在mt BAT包裝中包含call,甚至不需要明確包含perl.exe。

下面是一個例子任務設置: enter image description here

下面是一個例子BAT包裝:

@echo off 

date/t 
time/t 

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

echo. 
echo Done. 
exit/b 
+0

請參見編輯1在我的崗位。 – Alaa

相關問題