在 EC2 中永久更改日期

在 EC2 中永久更改日期

如何在 EC2 实例中手动设置未来的日期和时间并使其永久化,以便重启后不会重置?

我可以使用以下命令更改日期:

$ sudo timedatectl set-time "2017-12-09 16:00:00"
$ timedatectl 
      Local time: Sat 2017-12-09 16:00:01 UTC
  Universal time: Sat 2017-12-09 16:00:01 UTC
        RTC time: Sat 2017-12-09 16:00:02
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: no
NTP synchronized: no
 RTC in local TZ: no

EC2 上的操作系统:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:   xenial

我还应该做什么才能使这种情况永久化?

这次调整的目的是将日期设置为未来,这样我就可以测试一些东西。

答案1

您可以ntp为您的实例进行设置。

安装包ntp

apt-get/yum install ntp

编辑配置

nano /etc/ntp.conf

将服务器添加ntp到配置文件中,根据您居住的国家/地区查找适当的服务器(只需谷歌“your_country_name ntp server”)。根据您的操作系统,配置文件可能包含服务器而不是池,反之亦然。

server/pool 0.ntp_server_in_your_country iburst

重新启动并启用ntpd守护进程。

systemctl enable ntpd && systemctl start ntpd

ntp会确保每次重新启动服务器时您都有正确的时间,因为它会与服务器的时间同步。

答案2

Libfaketime,如果您的应用程序预装了该功能,则可以添加偏移量或将特定时间设置为当前时间。它可能比设置系统范围的更改效果更好。

不过,如果需要的话,它还可以设置系统范围的时间。

基本用法是:

LD_PRELOAD=/usr/local/lib/libfaketime.so.1 FAKETIME="2017-12-09 16:00:00" commandyouneed

相关内容