¿Cómo puedo cambiar la zona horaria de bandwidthd?

Respuestas:

5

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 TZes 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, cda su directorio de inicio en una terminal, y haga un simple ls -lrtpara 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 --execy $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.

e2-e4
fuente