相對更改Linux系統時間

相對更改Linux系統時間

我需要一個腳本來將系統時間修改為x分鐘數。就像是:

#時間= 12:56
#x = 2

如果時間布爾:
  時間=時間+x
  #時間= 12:58
別的:
  時間=時間-x
  #時間= 12:54

它是一些 Red Hat 測試的一部分,但可能需要轉移到另一個作業系統(可能是 Fedora 或 CentOS)。

答案1

你可以簡單地做

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

中的日期字串語法GNU date非常寬鬆並且允許很多事情。

在 Ubuntu 上測試。

答案2

一個簡單的方法可能是:

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

(未經測試)

但我不能保證這會在作業系統之間工作,因為它date +%s是一個擴充。

腳本嘗試取得當前日期 UTC,將其轉換為紀元秒數,添加 120 秒,然後設定 Unix 紀元秒數的日期。

相關內容