2016-07-06 21 views
3

私は単純な解決策があると思う問題に遭遇しています。私は現在、WebアプリケーションをホストするためのLinuxサーバーでWinSCP(FTP用に設定)を使用しています。WinSCPを使用して毎日特定の時刻にJARファイルを実行します。

私は、WinSCPコンソール(java -jar filename.jar)で手動で実行できるJARファイル(filename.jar)を作成しました。既存のテーブルを変更するMySQLデータベースでクエリを実行します。効果的に、フロントエンド(このテーブルからのクエリ)を更新するには、filename.jarファイルを1日2回実行する必要があります。

私はこれにアプローチする適切な方法が何であるか疑問に思っています。理想的には、毎日00:05と12:05に行われます。 WinSCPがこれらの時間に具体的にfilename.jarを実行するように設定できる場合、それは完璧です。しかし、.jarを連続して実行する方法があれば、私はwhileループで、希望のシステム時刻がfilename.jarの範囲内であることを確認します。

これは、locallyを実行したときにlotsinformationであることがわかりましたが、サーバーでこれを行う際に役立つものはほとんどありません。助けやアイデアをお寄せいただきありがとうございます。この質問を改善したり、より多くの情報を提供できるかどうかをお知らせください。これを明確に説明するリソースがあれば、それらへのリンクも大いに評価されます。私は新しいWinSCPユーザーです。あなたがまだわからないのであれば、私は新しいWinSCPユーザーです。

+0

jarファイルをLinuxサーバーにコピーしてcronジョブを作成する方法はありますか? またはそれはできませんか? – gybandi

+0

別の方法として、opensshを使ってサーバに接続することもできます.sshプログラムのコマンドラインでは、リモートコマンドを与えることができます。また、パンクからplinkで可能かもしれない –

+1

@gybandiこれは動作するようです。私は良いリソース[ここ](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形式hereまたはhereをチェックアウトすることができます。あなたのケースでは

が、それは次のようになります。

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

このjava -jar ...コマンドごとに12時間5分を実行します。

保存した後、crontab -lコマンドで既存のcronジョブを確認できます。 CRONエントリのsyslogを調べて、ジョブが意図したとおりに機能するかどうかを確認することもできます。

cat /var/log/syslog | grep CRON 
2

helpタスクスケジューラ(検索 - >タイプのタスクスケジューラ)でタスクを作成できます。 。バッチファイルを作成し、JDKのパスと jarファイルを提供します。お役に立てれば!!!

+0

あなたの答えをありがとうが、私はこれが動作するのか分からない。それはLinuxサーバーなので、 'crontab'ファイルが必要です。あなたの応答を感謝し、それはLinuxの等価物を見つけるための正しい軌道に私を置く。 – JamesR

関連する問題