2016-07-06 60 views
3

我遇到了一個問題,我認爲有一個簡單的解決方案。我目前使用WinSCP(設置爲FTP)和Linux服務器託管Web應用程序。在WinSCP每日特定時間運行JAR文件

我創建了一個JAR文件(filename.jar),我可以在WinSCP控制檯(java -jar filename.jar)中手動運行。它在修改現有表的MySQL數據庫中運行查詢。實際上,對於我的前端(來自此表的查詢)進行更新,它需要每天運行兩次filename.jar文件。

我想知道正確的方法是什麼。理想情況下,每天在00:05和12:05完成。如果WinSCP可以配置爲在這些時間專門運行filename.jar,那將是完美的。但是,如果有辦法連續運行.jar,我想在filename.jar內驗證所需系統時間的while循環也可以。

我看過lotsinformation這樣做locally,但發現這樣做對服務器來說很少有幫助。感謝任何幫助或想法,請告訴我是否可以改善此問題或提供更多信息。如果有任何資源可以清楚地解釋這些鏈接,那麼我們將不勝感激。如果您無法確定,我是新的WinSCP用戶。

+0

如何將jar複製到linux服務器併爲其創建一個cron作業? 還是不可能? – gybandi

+0

也許另一種方法是使用openssh連接到服務器,ssh程序的命令行允許給出遠程命令。也可能與膩子plink –

+1

@gybandi這似乎工作。我發現了一個很好的資源[here](http://www.thesitewizard.com/general/set-cron-job.shtml)。你有任何想法如何檢查以確保它正在運行?我已經在控制檯中使用了命令'crontab -l',但它只顯示了時間表:'4 12 * * */usr/local/new_promo.jar'。這足以證實它將在服務器上工作嗎? – JamesR

回答

3

正如我在我的評論中提到的,我認爲最簡單的方法是在遠程Linux服務器上執行cron作業。 您可以使用crontab -e命令編輯當前的cron表。 您可以查看cron格式herehere

在你的情況下,它應該是這個樣子:

5 */12 * * * java -jar /path/to/jarfile/filename.jar 

這將運行java -jar ...命令每12小時5分。

保存後,您可以使用crontab -l命令檢查現有的cron作業。 您也可以檢查CRON條目的系統日誌,以查看該作業是否按預期工作。

cat /var/log/syslog | grep CRON 
2

您可以使用幫助任務計劃程序(搜索 - >鍵入任務計劃程序)來創建任務。 。創建一個批處理文件並提供您的JDK和 jar文件的路徑。希望這可以幫助!!!

+0

感謝您的回答,但我不確定這會起作用。因爲它是一個Linux服務器,它需要一個'crontab'文件。不過,請欣賞你的迴應,它使我找到了找到Linux相當的正確途徑。 – JamesR

相關問題