Ubuntu 设置timesyncd时间同步、时区、 NTP同步对时-小白实操记录

    科技2022-07-16  132

    1 timesyncd时间同步

    Ubuntu 内置了时间同步,默认情况下使用systemd的timesyncd服务激活。

    查找服务器上date最基本命令是date 。 任何用户都可以输入此命令来打印日期和时间:

    date

    Sun Oct  4 19:30:04 CST 2020

    1.1 查看时区命令

    timedatectl list-timezones

    时区列表将打印到您的屏幕。 您可以按SPACE向下翻页,然后按b向上翻页。 找到正确的时区后,记下它,然后键入q退出列表。

    1.2 修改时区

    sudo timedatectl set-timezone Asia/Shanghai

    您可以再次运行date来验证更改,时区缩写应反映新选择的值。

    Ubuntu的默认安装现在使用timesyncd而不是ntpd。 timesyncd连接到相同的时间服务器,并以大致相同的方式工作,但更轻量级,更集成systemd和Ubuntu的低级别工作。

    我们可以通过运行没有参数的timedatectl来查询timesyncd的状态。        

    这将打印出本地时间,通用时间(如果您没有从UTC时区切换,可能与本地时间相同),以及一些网络时间状态信息。 System clock synchronized: yes表示时间已成功同步, systemd-timesyncd.service active: yes表示timesyncd已启用并正在运行。

    如果timesyncd未激活,请使用timedatectl将其打开:

    sudo timedatectl set-ntp on

    再次运行timedatectl以确认网络时间状态。 实际同步可能需要一分钟,但最终Network time on:和NTP synchronized:应该读取yes 。

    2 ntp对时

    2.1 准备

    在使用ntp之前,我们应该关闭timesyncd:

    sudo timedatectl set-ntp no

    2.1 安装ntp

    apt-get install ntp

    ntpd将在安装后自动启动。 您可以在ntpd中查询状态信息,以验证一切正常:

    ntpq -p

       

    ntpq是ntpd的查询工具。 -p标志要求提供有关ntpd连接到的NTP服务器(或页面)的信息。 您的输出会略有不同,但应列出默认的Ubuntu池服务器以及其他一些服务器。 请记住,ntpd建立连接可能需要几分钟时间。 结论

    2.3 安装ntpdate(可选)

    sudo apt-get install ntpdate

    本步骤可选的原因在于,ntpdate一般在装系统时就已经装好,但有些系统版本会例外。当系统不存在该安装包时,要手动安装。

    2.4 手动对时

    sudo /etc/init.d/ntp stop

    先关闭 ntp 服务,然后手动对时:

    ntpdate 192.169.……(ntp 服务器地址)

    手动对时命令应当重复几次,直到命令行窗口中显示的差值几乎为0(若能对时成功,屏幕上应当会显示当前时间,在当前时间后有当前时间与服务器时间的差,初次对时时,这个差应该会比较大,一直输入对时命令直到这个差接近于0即算完成对时)

    使用该方法时一定要切记一定要关闭ntp服务,即输入第一条命令,对时一次要停止一次。ntp服务一般会随机自动启动。

    2.5 自动对时

    方法一:查找etc目录下有无ntp.conf文件,当该文件存在时,在文件中添加以下语句:

    server 192.168.……(ntp服务器地址)

    保存退出即可。

    电脑中会有一个进程自动去读取该配置文件,并跟随服务器间隔一定时间进行一次对时。具体间隔时间不可查,正常情况下服务器是一台工控机,属性由机器本身决定。

    方法二:当不存在ntp.conf文件时,在 /etc/crontab 文件中,输入以下命令(注意:命令中的user和command为指代,根据实际情况而定):

    ***** user command

    第1个 * 表示分钟:取值范围为1~59,当需要一分钟执行一次时,可表示为 * /1,以下均同; 第2个 * 表示小时:取值范围0~23 第3个 * 表示日期:取值范围1~31 第4个 * 表示月份:取值范围1~12 第5个 * 表示星期:取值范围:0~6(0表示星期天) user为需要执行该命令的用户 command表示要运行的命令

    如上所说,假如需要使用root用户一分钟自动对时一次,则命令为:

    */1 * * * * root ntpdate 192.168.……(ntp服务器地址)

    保存退出即可。

    Processed: 0.009, SQL: 8