Linux 시스템 시간을 상대적으로 변경

Linux 시스템 시간을 상대적으로 변경

x시스템 시간을 분 단위 로 수정하는 스크립트가 필요합니다 . 다음과 같은 것 :

#시간 = 12:56
#x = 2

time_bool인 경우:
  시간 = 시간 + x
  #시간 = 12:58
또 다른:
  시간 = 시간 - x
  #시간 = 12:54

일부 Red Hat 테스트와는 별개이지만 다른 OS(아마도 Fedora 또는 CentOS)로 이동해야 할 수도 있습니다.

답변1

당신은 간단히 할 수 있습니다

if $time_bool; then
    date --set="+${x} minutes"
else
    date --set="-${x} minutes"
fi

의 날짜 문자열 구문은 GNU date매우 느슨하며 많은 것을 허용합니다.

우분투에서 테스트되었습니다.

답변2

간단한 방법은 다음과 같습니다.

date --set=@$(( $(date +%s) + 120 ))

(테스트되지 않음)

date +%s하지만 확장 기능 이므로 이것이 OS 간에 작동할 것이라고 보장할 수 없습니다 .

스크립트는 현재 날짜 UTC를 가져오고 이를 epoch의 초로 변환하고 120초를 추가한 다음 Unix epoch 초에서 날짜를 설정하려고 합니다.

관련 정보