Есть ли способ изменить смещение UTC для графиков, генерируемых bandwidthd ?
Исходный код использует и сохраняет временные метки, которые затем передаются функциям C ctime () и localtime () для отображения дата вверху страницы и внизу графиков.
Эти временные метки Unix не содержат часовых поясов - количество секунд с 1970-01-01.
Чтобы получить удобочитаемое время, ctime () и localtime () автоматически настраивают часовой пояс, который будет использоваться, в соответствии с вашим системным часовым поясом (посредством вызова tzset ( ) [тысяча сто двадцать шесть]).
Форсирование TZ времени команды
Вы можете в любом случае принудительно установить часовой пояс на заданное значение только на время выполнения команды или во время всего сеанса демона, как пропускная способность . Переменная окружения TZ
считывается tzset () для настройки часового пояса, если установлен.
Сначала взгляните на определения часовых поясов в /usr/share/zoneinfo
Затем, например, cd
на домашний каталог в терминале и выполните простое ls -lrt
, чтобы увидеть самые последние файлы. внизу списка. Затем установите часовой пояс в Париже, Франция, например
export TZ="Europe/Paris"
и сделайте другой ls -lrt
, время должно быть другим (если у вас есть система, настроенная с часовым поясом, установленным во Францию, вы можете захотеть выбрать другой TZ!).
Теперь сбросьте переменную TZ, просто чтобы предотвратить некоторые ошибки в зависимости от времени, отображаемого в терминале.
unset TZ
Изменение TZ bandwidthd
Я предполагаю, что вы установили пакет bandwidthd из Ubuntu apt-get
, и у вас должен быть файл инициализации, чтобы он запускался как служба. Сделайте копию где-нибудь из файла и затем отредактируйте его как root ( vi или другой редактор)
sudo cp -p /etc/init.d/bandwidthd ~/bandwidthd.save
sudo vi /etc/init.d/bandwidthd
В верхней части вы увидите определения нескольких переменных
NAME=bandwidthd
DESC=BandwidthD
...
[ 1144] добавьте один (например, для Парижа)
MYTZ="Europe/Paris"
, затем, далее ниже в функции startd () , вы увидите, как
cd $WORKDIR && start-stop-daemon --start --quiet \
--pidfile $PIDFILE \
--chdir $WORKDIR \
--exec $DAEMON -- $DAEMON_OPTS
измените ее до
cd $WORKDIR && start-stop-daemon --start --quiet \
--pidfile $PIDFILE \
--chdir $WORKDIR \
--exec /usr/bin/env TZ="$MYTZ" $DAEMON -- $DAEMON_OPTS
(обратите внимание на /usr/bin/env TZ="$MYTZ"
между --exec
и $DAEMON
).
Перезапустите процесс
sudo service bandwidthd restart
и, может занять несколько секунд, файлы должны быть обновлены, в браузере откройте file:///var/lib/bandwidthd/htdocs/index.html
(или каталог, в котором записаны файлы) для проверки.