2017-02-09 5 views
0

私はUNIXサーバで一連のコマンドをスケジュールする方法を探しています。 サーバー時間はUTCです。スケジュールされたジョブでUnixサーバの日付を変更する

  • 変更、それは英国の深夜で、次回にサーバーの日付が(タイムゾーンの変更の問題を回避するために)
  • Tomcatサーバーを再始動し
  • :私は基本的に毎週水曜日は午後4時、英国時に自動的に以下の手順を実行したいです
  • Tomcatが実行されている場合は、瓶
  • 変更正しい現在のUTC時刻
  • Tomcatを再起動が実行されている場合、我々は
  • を行っている
  • Tomcatサーバーへのサーバーの日付を実行します私たちは、スクリプトの実行をスケジュールするcronを使用することができます理解し

    date -s "Thu Feb 09 00:01:00 UTC 2017" (represents the next day at 1 minute past midnight) 
    service tomcat restart 
    sudo -u tomcat java -jar Test.jar -type "Major" -status "Active" 
    date -s "<the current UTC time>" 
    service tomcat restart 
    

    が、これを行う方法がわからない:の

以下のコマンドは、私は現在、手動で実行するものです。どんな助けもありがとうございます。

答えて

0

という名前のファイルを作成し、unix-server-date.shを作成し、たとえば/ optに保存します。

00 16 * * 3 /opt/unix-server-date.sh 

chmod +x /opt/unix-server-date.sh 

が続いのcrontab -eは、crontabのエントリを編集して、のようなエントリを追加する発行:

#!/bin/bash 
date -s "Thu Feb 09 00:01:00 UTC 2017" (represents the next day at 1 minute past midnight) 
service tomcat restart 
sudo -u tomcat java -jar Test.jar -type "Major" -status "Active" 
date -s "<the current UTC time>" 
service tomcat restart 

は、スクリプトを実行可能にします:スクリプトは、このコンテンツを持っています

エディタによっては、crontabエントリを追加した後にファイルを保存すると、crontabが自動的にインストールされます。

これは基本的なことです!

これらのコマンドを特定のユーザーアカウントから実行する場合は、そのユーザーのcrontabにcronジョブを追加する必要があります。変更crontab -ecrontab -e -u user

+0

crontabのおかげでよろしく!スクリプト上で、真夜中の1分後の翌日は知的に知る方法がありますか?私は毎週同じ日にクローンを設定しますが、夏時間の変更にも対応する必要があります。 – user3190153

+0

NTPまたはChronydを使用しないので、サーバーで時刻が自動的に調整されるのはなぜですか? –

+0

JARを実行したいとき(サーバーの時刻を前に移動する必要があるとき)に、UTCの正しい時刻に再度戻す前に、日付を変更したいからです。 JARは深夜0時に実行されなければなりませんが、私たちは勤務時間中にのみJARを実行し、誰かがそれを監視することができます。 – user3190153

関連する問題