相对更改 Linux 系统时间

相对更改 Linux 系统时间

我需要一个脚本来修改系统时间(x分钟数)。例如:

#时间 = 12:56
#x = 2

如果时间_bool:
  时间 = 时间 + 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 纪元秒数设置日期。

相关内容