Linux
 Computer >> コンピューター >  >> スマートフォン >> Linux

Linuxで日付・時刻を設定する方法!dateコマンドとNTP同期の使い方

このガイドでは、Linuxマシン上でdateコマンドを使って日付や時刻を設定する方法と、インターネット上のNTPサーバーと同期して正確な時刻を取得する方法を解説します。

以前の記事では、システムの日付や時刻をさまざまな形式で表示できる便利なコマンドラインツール「date」コマンドについて紹介しました。実はdateコマンドは、日時の表示だけでなく、マシンの日付や時刻を設定することもできます。ここでは、まずdateコマンドによる手動設定の方法を見ていき、その後、LinuxにおけるNTPサーバーの概要と、ネットワーク上の時刻サーバーとの同期方法を紹介します。

dateコマンドで現在の日時を確認する

まず、おさらいとしてdateコマンドの基本的な動作を確認しましょう。引数なしで実行すると、現在のシステム日時が表示されます。

# date
Mon Dec 22 22:35:58 IST 2008

dateコマンドで日付と時刻を設定する

たとえば、2008年12月25日の午後1時45分に日時を変更したい場合は、次のように実行します。

# date -s "25 DEC 2008 13:45:00"
Thu Dec 25 13:45:02 IST 2008

このコマンドの構成要素を分解して説明します。最初に「date」コマンドを入力し、続けて「-s」オプション(set=日時を設定する意味)を指定します。その後、設定したい日時を「日 月 年 時:分:秒」の順序で入力し、Enterキーを押します。システムから新しい日時が返ってくれば成功です。念のため、もう一度dateコマンドを実行して、正しく設定されているか確認しておきましょう。

なお、日時の変更にはroot権限が必要です。一般ユーザーで実行する場合は、sudoを併用してください。

書式を指定した別の設定方法

同じ操作は、他の構文でも行えます。dateコマンドは非常に柔軟性が高く、+%Y%m%dのようなフォーマット指定子と組み合わせることもできます。

# date +%Y%m%d -s "20081225"

このコマンドを実行すると、システムの日付が2008年12月25日に設定されます。

NTPサーバーと同期して時刻を合わせる

もうひとつおすすめしたいのが、NTP(Network Time Protocol)サーバーを利用する方法です。NTPdは多くのLinuxマシンで動作しているデーモンで、適切に設定すれば、ネットワーク経由(ローカルネットワークまたはインターネット)でタイムサーバーに接続し、自動的に時刻を同期できます。本番環境のサーバーでも広く使われている、信頼性の高い手法です。

多くのLinuxディストリビューションには、すでにNTP関連ツールがインストールされています。もし入っていない場合は、各システムのパッケージ管理ツールでインストールしてください。

Ubuntuの場合:

# sudo apt-get install ntpdate

Fedoraの場合:

# yum install ntp

NTPの設定ファイルを編集する

NTPdのインストール後、お好みのテキストエディタで「/etc/ntp.conf」ファイルを開きます。「server」というパラメータを含む行を探し、次のように公開NTPプールのアドレスを指定します。

server pool.ntp.org

ファイルを保存したら、NTPサービスを再起動します。

# /etc/init.d/ntpd restart

タイムサーバーと手動で同期する

設定が完了したら、ntpdateコマンドで今設定したタイムサーバーと即座に同期できます。

# ntpdate pool.ntp.org
22 Dec 23:07:00 ntpdate[24328]: step time server 123.108.39.80 offset 172868.246157 sec

これで、マシンが指定したタイムサーバーと通信し、正確な時刻を取得します。この方法なら、システムクロックが確実に正しい時刻に保たれていることを確認できます。ずれたままにならないよう、定期的にこのコマンドを実行しておくと安心です。

補足として、systemdを採用した最近のディストリビューションでは、「timedatectl set-time」コマンドやchronyなど、より新しいツールでの時刻管理も可能です。ただし、今回紹介したdateコマンドとNTPの組み合わせは、古いシステムから最新の環境まで幅広く使える万能な方法なので、覚えておいて損はありません。

  1. iPhone・iPadでVPNを設定する方法を初心者向けに徹底解説

    このチュートリアルでは、iPhone(またはiPad)でVPNサービスを設定し、実際に利用できるようになるまでの手順を、初心者の方にもわかりやすく解説します。事前に準備しておくもの作業を始める前に、以下の情報を確認しておきましょう。VPNのサーバーアドレス、ユーザー名、パスワード。VPNサービスの設定内容によっては、シークレット(Secret)キーも必要になる場合があります。iPhoneは、追加アプリをインストールしなくても、L2TP/IPSec、PPTP、Cisco IPSecという3つのプロトコルに標準対応しています。専門用語がよくわからなくても心配はいりません。利用予定のVPNサーバーや

  2. Linux PCを高速化する5つの方法|GRUB短縮からデスクトップ環境変更まで

    Linuxは強力なOSエコシステムとして、初期状態から優れた速度を発揮することが最大の魅力の一つですが、さらに高速化できるならそれに越したことはありません。本記事では、システムの速度に影響する要素を解説し、実際に動作を速めるための効果的な方法を複数ご紹介します。 スレッドスケジューリング 当初、Linuxはラウンドロビン方式の単純なスケジューリングアルゴリズムでタスクを処理していました。その後、Linuxはスレッドスケジューリングを継続的に改良し、「Completely Fair Scheduler(CFS)」と呼ばれる高度で拡張性の高い設計へと進化しました。 CFSは仮想実行時間(vir