Jak mogę zmienić strefę czasową przepustowości?

8

Czy jest jakiś sposób na zmianę przesunięcia UTC dla wykresów generowanych przez bandwidthd ?

tslocum
źródło

Odpowiedzi:

5

Kod źródłowy nie używać i przechowywać znaczniki czasu, które są następnie dostarczane do C Funkcje ctime () i localtime () , aby wyświetlić datę w górnej części strony, a na dole na wykresach.

Te uniksowe znaczniki czasu nie zawierają stref czasowych, liczba sekund od 1970-01-01.
Aby uzyskać czas czytelny dla człowieka, ctime () i czas lokalny () automatycznie dostosowują strefę czasową, która ma być używana zgodnie ze strefą czasową systemu (poprzez połączenie z tzset () ).

Wymuszanie na TZ czasu polecenia

W każdym razie możesz zmusić strefę czasową do określonej wartości tylko na czas wykonania polecenia lub podczas całej sesji demona, np . Bandwidthd . Zmienna środowiskowa TZjest odczytywana przez tzset () w celu dostosowania strefy czasowej, jeśli jest ustawiona.

Najpierw spójrz na definicje stref czasowych w /usr/share/zoneinfo

Następnie na przykład cddo ls -lrtkatalogu domowego w terminalu i zrób proste, aby zobaczyć najnowsze pliki na dole listy. Następnie ustaw strefę czasową na przykład na Paryż, Francja

export TZ="Europe/Paris"

i zrób inną ls -lrt, czas powinien być inny (jeśli zdarzy się, że masz skonfigurowany system ze strefą czasową ustawioną na Francję, możesz wybrać inną TZ!).

Teraz wyłącz TZ var, aby zapobiec błędom na podstawie czasu wyświetlanego w terminalu.

unset TZ


Zmiana TZ przepustowości

Zakładam, że zainstalowałeś pakiet bandwidthd z Ubuntu apt-geti powinieneś mieć plik inicjujący, aby mógł zostać uruchomiony jako usługa. Zrób kopię gdzieś pliku, a następnie edytuj go jako root ( vi lub inny edytor)

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

U góry widać kilka definicji zmiennych

NAME=bandwidthd
DESC=BandwidthD
...

dodaj jeden (np. do Paryża)

MYTZ="Europe/Paris"

następnie poniżej w funkcji startd () powinieneś zobaczyć

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

zmień na

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

(zauważ /usr/bin/env TZ="$MYTZ"pomiędzy --execi $DAEMON).


Uruchom ponownie proces

sudo service bandwidthd restart

i może potrwać kilka sekund, pliki powinny zostać zaktualizowane, w przeglądarce otwartej file:///var/lib/bandwidthd/htdocs/index.html(lub w katalogu, w którym zapisywane są pliki), aby to sprawdzić.

e2-e4
źródło