RTC(하드웨어 시계/BIOS)와 동기화되도록 시스템 시계를 설정하는 방법. 알람과 함께 시스템을 시작하기 위해 시스템 시계를 사용하는 스크립트를 작성 중입니다.
이를 위한 유일한 요구 사항은 적합한 RTC 클럭입니다. 내 테스트 시스템(SLES 10 SP4)에서는 NTP 서버를 사용하여 시스템 시계를 관리합니다. 그러나 RTC 시계는 항상 앞서 있습니다.
예를 들어 현재 시스템 시계가 표시되고 14:00 26.05.2016
RTC는 16:00
시간을 표시합니다. 매뉴얼 페이지를 읽었 hwclock
으며 다음 명령이 표시됩니다.
hwclock --systohc --localtime
RTC 시계는 시스템 시계와 동기화됩니다. 그게했다.
그러나 재부팅/종료 후 시스템이 다시 시작되면 RTC가 다시 엉망이 됩니다. 따라서 시스템을 재부팅할 때 RTC를 제어할 수 있는 추가 기능이 있습니다.
누구든지 올바른 방향으로 나를 가리킬 수 있습니까? 미리 감사드립니다.
답변1
hwclock
이 명령을 사용하여 하드웨어 시계를 설정할 수 있습니다 .
남성의 경우 hwclock page
:
--set Set the Hardware Clock to the time given by the --date option.
다음 명령을 사용하여 현재 시스템 시간을 하드웨어 시계에 적용할 수 있습니다.
hwclock -w
또는 수동으로 사용할 수도 있습니다.
hwclock --set --date "$(date)"
질문에 세부정보를 추가한 결과 내 답변이 충분하지 않았으므로 아래에 자세한 내용이 나와 있습니다. 명령을 사용하여 시간대를 확인할
수 있습니다 . 시간대를 나열합니다 . 예를 들어 를 사용하여 시간대를 UTC로 설정할 수 있습니다 . 시간대 설정에 대한 자세한 내용을 확인할 수 있습니다.timedatectl status
timedatectl list-timezones
timedatectl set-timezone UTC
여기.
답변2
시계가 최적으로 설정되지 않은 경우 systemd
시스템 기반 실행 중에 경고가 표시됩니다 timedatectl
.
Warning: The system is configured to read the RTC time in the local time zone.
This mode can not be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
이 문제는 다음을 통해 해결할 수 있습니다.
timedatectl set-local-rtc 0
답변3
나는 동일한 문제가 있었고 인용한 명령을 사용하여 해결했습니다. hwclock --systohc --localtime
시스템 시작 시 crontab을 사용하여 추가하면 됩니다.
이렇게 하려면 파일에 명령을 추가합니다(저는 RTC 조정.sh를 사용합니다).
그런 다음 터미널을 열고 chmod 755
다음 예제와 같이 스크립트 경로에서 실행합니다.
chmod 755 /home/andavas/Scripts/RTC adjust.sh
그런 다음 crontab 파일을 편집하여 다음을 편집하십시오.
crontab -e
(이 작업을 실행한 적이 없다면 이 작업에 대한 편집기를 선택해야 합니다. 권장합니다 nano
.)
파일 끝에 다음이 앞에 오는 스크립트 경로를 삽입하십시오 @reboot
.
마지막으로 시스템을 저장하고 다시 시작하십시오.
답변4
이는 시스템 설정 방법에 따라 다릅니다. 일반적으로 Unix는 RTC가 GMT/UTC일 것으로 예상하고 시스템은 오프셋/시간대를 알고 있습니다. 그러나 이는 RTC가 로컬 시간일 것으로 예상하는 이전 Windows 시스템과 호환되지 않으므로 다중 부팅 시스템에서 문제가 발생할 수 있습니다. 따라서 /etc/default/rcS에는 GMT 시간 또는 현지 시간 중 RTC를 사용할지 여부를 시스템에 알려주는 설정이 있습니다(후자를 원할 수도 있지만 기본값은 아닙니다).
# assume that the BIOS clock is set to UTC time (recommended)
UTC=yes