如何为rrdtool fetch命令指定Europe/Sofia时区并适配夏令时偏移
如何为rrdtool fetch命令指定Europe/Sofia时区并适配夏令时偏移
兄弟,你这个需求完全能实现,而且还能自动适配夏令时的偏移变化,不用你手动去调整2小时还是3小时!
rrdtool本身是依赖系统的时区环境变量来处理时间计算的,你不用在rrdtool fetch命令里加额外参数,只需要在执行命令前临时指定TZ环境变量为Europe/Sofia就行。
具体操作分两种情况:
- 如果是直接在终端单次执行,你可以把变量和命令写在一行:
TZ="Europe/Sofia" rrdtool fetch test.rrd MAX -r 86400 -s -90d -e now - 如果是写在脚本里,也可以先导出这个变量,之后的命令都会使用这个时区:
export TZ="Europe/Sofia" rrdtool fetch test.rrd MAX -r 86400 -s -90d -e now
这里关键的点是:Europe/Sofia这个时区的配置本身就包含了夏令时的切换规则,rrdtool会自动读取这套规则——当处于夏令时段时自动用+03:00的偏移,非夏令时段用+02:00,完全不用你手动干预。
另外补充一句:这个临时设置的TZ变量只会影响当前命令(或脚本会话)的执行环境,不会改动系统全局的时区设置,放心用就行。
备注:内容来源于stack exchange,提问作者Davosss
相关产品推荐
相关产品推荐

