有没有办法改变 UTC 偏移量生成的图表带宽?
答案1
这源代码使用并存储时间戳,然后将其提供给 C 函数时间()和当地时间()以便在页面顶部和图表底部显示日期。
这些 Unix 时间戳不包含时区,是自 1970-01-01 以来的秒数。
要获取人类可读的时间,时间()和当地时间()根据系统时区自动调整要使用的时区(通过调用tzset())。
强制 TZ 为命令的时间
无论如何,您都可以在命令执行时或整个守护进程会话期间强制将时区设置为给定值,例如带宽. 环境变量TZ
由tzset()调整时区(如果已设置)。
首先看一下时区定义/usr/share/zoneinfo
然后,例如,cd
在终端中转到您的主目录,并执行一个简单的操作ls -lrt
以查看列表底部的最新文件。然后将时区设置为法国巴黎,例如
export TZ="Europe/Paris"
并执行另一次ls -lrt
,时间应该有所不同(如果您的系统恰好配置为时区为法国,您可能需要选择另一个 TZ!)。
现在取消设置 TZ var,只是为了防止基于终端显示的时间出现一些错误。
unset TZ
更改 TZ带宽
我假设你安装了带宽Ubuntu 中的软件包apt-get
,您应该有一个 init 文件,以便将其作为服务启动。复制该文件的某个位置,然后以 root 身份编辑它(六或其他编辑)
sudo cp -p /etc/init.d/bandwidthd ~/bandwidthd.save
sudo vi /etc/init.d/bandwidthd
在顶部附近你会看到一些变量定义
NAME=bandwidthd
DESC=BandwidthD
...
添加一个(例如,巴黎)
MYTZ="Europe/Paris"
然后,在下面启动()函数,你应该看到
cd $WORKDIR && start-stop-daemon --start --quiet \
--pidfile $PIDFILE \
--chdir $WORKDIR \
--exec $DAEMON -- $DAEMON_OPTS
将其更改为
cd $WORKDIR && start-stop-daemon --start --quiet \
--pidfile $PIDFILE \
--chdir $WORKDIR \
--exec /usr/bin/env TZ="$MYTZ" $DAEMON -- $DAEMON_OPTS
(注意和/usr/bin/env TZ="$MYTZ"
之间)。--exec
$DAEMON
重新启动进程
sudo service bandwidthd restart
并且,可能需要几秒钟,文件应该被更新,在浏览器中打开file:///var/lib/bandwidthd/htdocs/index.html
(或写入文件的目录)进行检查。