Comment puis-je changer le fuseau horaire de la bande passanted?


Réponses:


5

Le code source utilise et stocke des horodatages, qui sont ensuite fournis aux fonctions C ctime () et localtime () afin d'afficher la date en haut de la page et en bas des graphiques.

Ces horodatages Unix sont sans fuseau horaire, le nombre de secondes depuis le 01/01/1970.
Pour obtenir une heure lisible par l'homme, ctime () et localtime () ajustent automatiquement le fuseau horaire à utiliser en fonction du fuseau horaire de votre système (via un appel à tzset () ).

Forcer le TZ le temps d'une commande

Vous pouvez de toute façon forcer le fuseau horaire à une valeur donnée juste pour le moment de l'exécution d'une commande, ou pendant une session démon entière, comme bandwidthd . La variable d'environnement TZest lue par tzset () pour ajuster le fuseau horaire, s'il est défini.

Jetez d'abord un œil aux définitions de fuseau horaire dans /usr/share/zoneinfo

Ensuite, par exemple, cddans votre répertoire personnel dans un terminal, et faites un simple ls -lrtpour voir les fichiers les plus récents en bas de la liste. Réglez ensuite le fuseau horaire sur Paris, France, par exemple

export TZ="Europe/Paris"

et faites-en une autre ls -lrt, l'heure devrait être différente (si vous avez un système configuré avec un fuseau horaire réglé sur France, vous pouvez choisir un autre TZ!).

Désactivez maintenant la var TZ, juste pour éviter certaines erreurs basées sur le temps affiché dans le terminal.

unset TZ


Modification de la TZ de bande passanted

Je suppose que vous avez installé le paquet bandwidthd à partir d'Ubuntu apt-get, et vous devriez avoir un fichier init pour qu'il démarre en tant que service. Faites une copie quelque part du fichier puis éditez-le en tant que root ( vi ou un autre éditeur)

sudo cp -p /etc/init.d/bandwidthd ~/bandwidthd.save
sudo vi /etc/init.d/bandwidthd

En haut, vous voyez quelques définitions de variables

NAME=bandwidthd
DESC=BandwidthD
...

ajouter un (par exemple, pour Paris)

MYTZ="Europe/Paris"

puis, plus loin dans la fonction startd () , vous devriez voir

    cd $WORKDIR && start-stop-daemon --start --quiet \
            --pidfile $PIDFILE \
            --chdir $WORKDIR \
            --exec $DAEMON -- $DAEMON_OPTS

le changer en

    cd $WORKDIR && start-stop-daemon --start --quiet \
            --pidfile $PIDFILE \
            --chdir $WORKDIR \
            --exec /usr/bin/env TZ="$MYTZ" $DAEMON -- $DAEMON_OPTS

(remarquez /usr/bin/env TZ="$MYTZ"entre --execet $DAEMON).


Redémarrez le processus

sudo service bandwidthd restart

et, cela pourrait prendre quelques secondes, les fichiers devraient être mis à jour, dans un navigateur ouvert file:///var/lib/bandwidthd/htdocs/index.html(ou le répertoire où les fichiers sont écrits) pour vérifier.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.