我在一些站点上收集了来自世界各地一些国家的遥测数据,例如温度,压力,电压等。
会发生什么事,我将通过自动电子邮件向这些服务器之一发送“阀门关闭/打开”或“温度升高/降低”命令。生成电子邮件后,我将通过time()
获取当前的unix时间戳。这有两个目的。 #1它为我提供了生成电子邮件的时间,并且它是唯一的邮件ID。
此unix时间戳与其他信息一起输入到SQL数据库中,例如,contoller发出了命令,目标服务器等。
此外,此unix时间戳(唯一ID)与电子邮件一起发送到目标服务器。目标服务器一旦收到邮件(通过fetchmail和procmail),便按照指示执行操作,然后将确认电子邮件发送回主系统。发送回的电子邮件带有原始的unix时间戳(唯一ID)以及目标服务器接收命令的时间($rx_time
)和目标服务器发出命令的时间($tx_time
)通过time()
。这些服务器运行本地php脚本。
一切正常,我很高兴。但是,有32个目标服务器跨越4个不同的时区。
我不希望在电子邮件中发送格式化日期,例如:2016-04-13 13:04:16
,因为这将与我的procmail正则表达式配方冲突。我想要发送一个UTC +0 Unix时间戳,例如:1234567890
,我将在本地进行时间转换。
我将如何在所有32台服务器上(在其本地php脚本中)将时区设置为UTC +0并从中提取unixtime?
希望我有道理。