¿Hay alguna forma de cambiar el desplazamiento UTC para los gráficos generados por bandwidthd ?
¿Hay alguna forma de cambiar el desplazamiento UTC para los gráficos generados por bandwidthd ?
Respuestas:
El código fuente usa y almacena marcas de tiempo, que luego se proporcionan a las funciones C ctime () y localtime () para mostrar la fecha en la parte superior de la página y en la parte inferior de los gráficos.
Estas marcas de tiempo Unix no tienen zona horaria, la cantidad de segundos desde 1970-01-01.
Para obtener una hora legible por humanos, ctime () y localtime () ajustan automáticamente la zona horaria que se utilizará de acuerdo con la zona horaria de su sistema (a través de una llamada a tzset () ).
Forzar a la TZ el tiempo de un comando
De todos modos, puede forzar la zona horaria a un valor dado solo por el tiempo de ejecución de un comando, o durante una sesión de daemon completa, como bandwidthd . La variable de entorno TZ
es leída por tzset () para ajustar la zona horaria, si está establecida.
Primero eche un vistazo a las definiciones de zona horaria en /usr/share/zoneinfo
Luego, por ejemplo, cd
a su directorio de inicio en una terminal, y haga un simple ls -lrt
para ver los archivos más recientes al final de la lista. Luego configure la zona horaria en París, Francia, por ejemplo
export TZ="Europe/Paris"
y haga otra ls -lrt
, la hora debe ser diferente (si tiene un sistema configurado con una zona horaria establecida en Francia, ¡puede elegir otra TZ!).
Ahora desactive la TZ var, solo para evitar algunos errores en función del tiempo que se muestra en el terminal.
unset TZ
Cambiar la TZ de ancho de banda
Supongo que instaló el paquete de ancho de banda de Ubuntu apt-get
, y debe tener un archivo de inicio para que se inicie como un servicio. Haga una copia en algún lugar del archivo y luego edítelo como root ( vi u otro editor)
sudo cp -p /etc/init.d/bandwidthd ~/bandwidthd.save
sudo vi /etc/init.d/bandwidthd
Cerca de la parte superior ves algunas definiciones de variables
NAME=bandwidthd
DESC=BandwidthD
...
agregue uno (por ejemplo, para París)
MYTZ="Europe/Paris"
luego, más abajo en la función startd () , debería ver
cd $WORKDIR && start-stop-daemon --start --quiet \
--pidfile $PIDFILE \
--chdir $WORKDIR \
--exec $DAEMON -- $DAEMON_OPTS
cámbielo a
cd $WORKDIR && start-stop-daemon --start --quiet \
--pidfile $PIDFILE \
--chdir $WORKDIR \
--exec /usr/bin/env TZ="$MYTZ" $DAEMON -- $DAEMON_OPTS
(observe el /usr/bin/env TZ="$MYTZ"
entre --exec
y $DAEMON
).
Reiniciar el proceso
sudo service bandwidthd restart
y, podría tomar unos segundos, los archivos deben actualizarse, en un navegador abierto file:///var/lib/bandwidthd/htdocs/index.html
(o en el directorio donde se escriben los archivos) para verificar.