Làm cách nào để thay đổi ngày và giờ máy chủ của Ubuntu thông qua dòng lệnh?


40

Ngày và giờ hiện tại của máy chủ Ubuntu khác với ngày và giờ của múi giờ. Tôi đã thử sử dụng:

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

để thay đổi nhưng nó không thay đổi ngày và giờ, chỉ in trên thiết bị đầu cuối ngày và giờ tôi đã thay đổi, nhưng khi tôi thực hiện:

sudo hwclock --show

Ngày giờ vẫn là ngày xưa.

Cách chính xác để thay đổi ngày và giờ của Ubuntu Server là gì?


bạn thực sự đã gõ "sudo date newdate" - từ "newdate"?
Wolfgang

1
Không. Tôi đã chỉnh sửa câu hỏi của tôi. Tôi đã gõ "30 tháng 9 năm 2015 4:43:42"
Priska Aprilia

Câu trả lời:


68

Bạn có thể đặt ngày hệ thống bằng lệnh này:

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

Sau đó khi sử dụng date , nó phải được hiển thị chính xác.

Bây giờ bạn cũng nên thiết lập đồng hồ phần cứng trong BIOS của hệ thống, rằng cài đặt vẫn tồn tại trong quá trình khởi động lại (đảm bảo khởi động thời gian hệ thống được đặt thành giá trị của đồng hồ phần cứng). Làm điều đó với hwclock:

sudo hwclock --systohc

Điều này nhận giá trị đồng hồ hệ thống (sys) và đặt đồng hồ phần cứng (hc). Kiểm tra nó bằng hwclocklệnh. Cả hai hwclockdatebây giờ sẽ hiển thị cùng ngày và thời gian.


Để đặt múi giờ của bạn , bạn có thể sử dụng lệnh này:

sudo dpkg-reconfigure tzdata

BTW : Nếu bạn sử dụng máy này làm máy chủ, tôi thực sự khuyên bạn nên sử dụng NTP-Client để đồng bộ hóa thời gian qua mạng . Vì vậy, bạn có thể đảm bảo rằng tất cả các máy chủ của bạn có cùng thời gian được đặt. Điều này sẽ đồng bộ thời gian trong khi máy chạy. Nếu bạn có các ứng dụng phụ thuộc vào thời gian được đồng bộ hóa trên máy chủ, tôi khuyên dùng NTP-Daemon. Thời gian chạy trong nền càng lâu, thời gian càng chính xác.


1
Tôi đã bỏ lỡ bước đồng bộ hóa đồng hồ. Cảm ơn câu trả lời của bạn, nó đã giúp tôi!
Priska Aprilia

1
3 tùy chọn giúp, nó đã thay đổi vv / timezone =) như php.net/manual/en/timezones.php !!! hoàn toàn giống nhau !!!
Vladimir Ch

@VladimirCh Tên múi giờ của Fortunatelly được đặt tên, vì vậy chúng tôi không phải thực hiện bất kỳ điều chỉnh nào giữa các hệ thống. Oh, đợi đã ... cũng có một số phiên bản Microsoft ...
PeterM

1
Tôi cố gắng thay đổi nhưng nó không thay đổi: - $ sudo date --set = "2015-09-30 10: 05: 59.990" Thứ tư ngày 30 tháng 10 10:05:59 +0530 2015 $ ngày Thu May 23 15:10:37 +0530 2019
Vinod

7
  1. Tìm kiếm múi giờ của bạn
timedatectl list-timezones
  1. Đặt múi giờ của bạn
sudo timedatectl set-timezone America/Toronto
  1. Kích hoạt timesyncd
sudo timedatectl set-ntp on

Với điều này, thời gian nên được thiết lập và đồng bộ hóa.

Bạn có thể xem thêm về hướng dẫn này: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synyncization-on-ub Ubuntu-18-04


1
Cách tốt nhất để khắc phục nó mà không cần thiết lập thủ công giờ và phút! Cảm ơn rất nhiều!
Rafael Moni

4

Tôi không thích thiết lập thời gian hệ thống bằng tay. Vì vậy, để khắc phục vấn đề này, tôi đã phải kết hợp hai câu trả lời khác nhau.
Để sửa thời gian hệ thống, bạn phải sử dụng mã này:

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

như được đưa ra trong câu trả lời này
Sau đó, bạn đồng bộ hóa đồng hồ phần cứng với đồng hồ hệ thống bằng cách sử dụng

sudo hwclock --systohc

như được đưa ra bởi @chaos trong chủ đề này.


1

chỉ cần gõ

sudo date newdatestring

với newdatestring ở định dạng nnddhhmmyyyy.ss

  • nn: tháng (hai chữ số) (01 đến 12)
  • dd: ngày (hai chữ số) (01 đến 31), với các quy tắc thông thường cho các ngày theo tháng và năm áp dụng
  • hh: giờ (hai chữ số) (00 đến 23)
  • mm: phút (hai chữ số) (00 đến 59)
  • yyyy: năm; nó có thể là hai chữ số hoặc bốn chữ số
  • ss là hai chữ số giây (00 đến 59). Lưu ý khoảng thời gian '.' trước ss.

Nhưng bên cạnh lệnh date, có thể bạn thích "giải pháp" NTP (giao thức thời gian mạng): Serverguide - NTP , dễ xử lý hơn và chính xác hơn nhiều so với cài đặt ngày bằng tay. Bạn có thể sử dụng cronjob hoặc ntp daemon (ntpd) để cập nhật thời gian cho bạn sau mỗi x giờ / phút ...

Hi vọng điêu nay co ich!


phạm vi ngày không hợp lệ khi tôi đã thử với "093005082015.15", viết tắt của ngày 30 tháng 9 năm 2015, 05:08:15
Priska Aprilia

sudo date "093005082015.15" làm việc trên mỏ của tôi.
vusan

0

Đối với những người tìm kiếm phiên bản epoch giây

  1. Đặt ngày giờ hiện tại

    sudo date -s @1565864862
  2. Nhận ngày giờ hiện tại

    date +%s
    

    đầu ra 1565864862

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.