コマンドラインを介してubuntuのサーバーの日付と時刻を変更するにはどうすればよいですか?


40

Ubuntuサーバーの現在の日付と時刻は、タイムゾーンの日付と時刻とは異なります。私は使用してみました:

sudo date "30 Sep 2015 4:43:42"

それを変更しますが、日付と時刻は変更しませんでした。端末に変更した日付と時刻を印刷しましたが、実行すると:

sudo hwclock --show

日付と時刻はまだ古いものです。

Ubuntu Serverの日付と時刻を変更する正しい方法は何ですか?


あなたは本当に「sudo date newdate」と入力した-「newdate」という言葉?
ウルフギャング

1
いや。質問を編集しました。「2015年9月30日4:43:42」と入力しました
プリスカアプリリア

回答:


68

このコマンドでシステム日付を設定できます:

sudo date --set="2015-09-30 10:05:59.990"

次に、を使用するとdate、正しく表示されるはずです。

また、システムのBIOSでハードウェアクロックを設定する必要があります。設定は再起動後も持続します(起動中、システム時間はハードウェアクロックの値に設定されます)。でそれを行うhwclock

sudo hwclock --systohc

これにより、システムクロック(sys)値が取得され、ハードウェアクロック(hc)が設定されます。hwclockコマンドで確認してください。両方hwclockdate、同じ日付と時刻が表示されるはずです。


タイムゾーンを設定するには、次のコマンドを使用できます。

sudo dpkg-reconfigure tzdata

ところで:このマシンをサーバーとして使用する場合は、NTPクライアントを使用してネットワーク経由で時刻同期することを強くお勧めします。そのため、すべてのサーバーでまったく同じ時刻が設定されていることを保証できます。これにより、マシンの実行中に時刻が同期されます。サーバー上の同期時間に依存するアプリケーションがある場合は、NTP-デーモンをお勧めします。バックグラウンドで実行する時間が長いほど、時間は正確になります。


1
クロック同期ステップを逃しました。あなたの答えをありがとう、それは私を助けた!
プリスカアプリリア

1
3オプションが役立ちます。変更されましたetc / timezone =)php.net/manual/en/timezones.phpのように!!! まったく同じ!!!
ウラジミールCh

@VladimirCh Fortunatellyのタイムゾーン名は標準化されているため、システム間で調整を行う必要はありません。ああ、ちょっと... Microsoftのバージョンもあります
...-PeterM

1
私は変更しようとしますが、変更しません:-$ sudo date --set = "2015-09-30 10:05:59.990" Wed Sep 30 10:05:59 +0530 2015 $ date Thu May 23 15:10:37 +0530 2019
ヴィノド

7
  1. タイムゾーンを検索
timedatectl list-timezones
  1. タイムゾーンを設定する
sudo timedatectl set-timezone America/Toronto
  1. 有効にする timesyncd
sudo timedatectl set-ntp on

これにより、時刻を設定して同期する必要があります。

このチュートリアルの詳細については、https//www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-18-04をご覧ください。


1
時間と分を手動で設定せずに修正する最良の方法!どうもありがとう!
ラファエルモニ

4

システム時刻を手動で設定するのは嫌いです。したがって、この問題を解決するには、2つの異なる回答を組み合わせる必要がありました。
システム時間を修正するには、次のコードを使用する必要があります。

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

この回答に示されているように、
次にハードウェアクロックをシステムクロックと同期させます

sudo hwclock --systohc

このスレッドの@chaosで指定されています。


1

入力するだけ

sudo date newdatestring

newdatestring形式でnnddhhmmyyyy.ss

  • nn:(2桁の)月(01から12)
  • dd:(2桁の)日(01〜31)、月と年に応じた日の規則が適用されます。
  • hh:(2桁の)時間(00から23)
  • mm:(2桁の)分(00から59)
  • yyyy:年。2桁または4桁にすることができます
  • ssは2桁の秒(00〜59)です。期間「。」に注意してください。SSの前に。

ただし、dateコマンドのほかに、NTPの「解決策」(ネットワークタイムプロトコル)をお勧めします。Serverguide-NTPは、日付を手動で設定するよりもはるかに簡単で正確です。cronjobまたはntpデーモン(ntpd)を使用して、x時間/分ごとに時間を更新できます...

お役に立てれば!



sudo date "093005082015.15" 私の仕事。
vusan

0

エポック秒バージョンをお探しの方へ

  1. 現在の日付と時刻を設定する

    sudo date -s @1565864862
  2. 現在の日付と時刻を取得する

    date +%s
    

    出力 1565864862

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.