Как я могу изменить часовой пояс bandwidthd?

Есть ли способ изменить смещение UTC для графиков, генерируемых bandwidthd ?

8
задан 6 March 2013 в 20:07

1 ответ

Исходный код использует и сохраняет временные метки, которые затем передаются функциям 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 (или каталог, в котором записаны файлы) для проверки.

0
ответ дан 6 March 2013 в 20:07

Другие вопросы по тегам:

Похожие вопросы: