Czy jest jakiś sposób na zmianę przesunięcia UTC dla wykresów generowanych przez bandwidthd ?
Czy jest jakiś sposób na zmianę przesunięcia UTC dla wykresów generowanych przez bandwidthd ?
Odpowiedzi:
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 TZ
jest 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 cd
do ls -lrt
katalogu 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-get
i 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 --exec
i $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ć.