Есть ли способ изменить смещение UTC для графиков, генерируемых bandwidthd ?
Есть ли способ изменить смещение UTC для графиков, генерируемых bandwidthd ?
Ответы:
Исходный код делает использовать и хранить временные метки, которые затем подаются к функциям C CTime () и МестноеВремя () , чтобы отобразить дату в верхней части страницы, а в нижней части графиков.
Эти временные метки Unix не содержат часовых поясов - количество секунд с 1970-01-01.
Чтобы получить удобочитаемое время, ctime () и localtime () автоматически настраивают часовой пояс, который будет использоваться, в соответствии с часовым поясом вашей системы (посредством вызова tzset () ).
Форсирование ТЗ по времени команды
В любом случае вы можете принудительно установить часовой пояс для данного значения только на время выполнения команды или во время всего сеанса демона, например, bandwidthd . Переменная окружения TZ
читается функцией tzset (), чтобы настроить часовой пояс, если он установлен.
Сначала взгляните на определения часового пояса в /usr/share/zoneinfo
Затем, например, cd
к вашему домашнему каталогу в терминале и просто ls -lrt
просмотрите самые последние файлы внизу списка. Затем установите часовой пояс, например, в Париже, Франция.
export TZ="Europe/Paris"
и сделайте другое ls -lrt
, время должно быть другим (если у вас настроена система с часовым поясом, установленным во Францию, вы можете выбрать другой TZ!).
Теперь сбросьте TZ var, просто чтобы предотвратить некоторые ошибки в зависимости от времени, отображаемого в терминале.
unset TZ
Изменение ТЗ пропускной способности
Я предполагаю, что вы установили пакет 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
...
добавить один (например, для Парижа)
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
(или в папке, где записаны файлы), чтобы проверить.