Добрый день.
Я мелкий провайдер с 8-ю входными линиями под FreeBSD 4.4 Естественно, что мне нужна некая система биллинга. Сейчас все работает довольно тупо - есть файл с ресурсами юзеров и по cron запускается скриптик, просчитывающий данные из wtmp. Понятно, что при этом возникает огромный оверхед. А может кто уже пропатчил FreeBSD last для вывода даты не в виде строки, а в виде одних секунд с начала эпохи ?
Впрочем дело не совсем в этом. Я полазил по СPAN и взял Date::Calc 5.0 Руссифицировал его (как описано в инструкции) и запустил. Все заработало, но довольно медленно. Я уже было обрадовался, но вдруг, выяснилось, что скрипт выдает несколько неправильное время - его результат отстает ровно на 3 часа от реального времени.
На всякий случай я поменял схему пересчета и перешел на стандартные модули Perl. К моему удивлению этот сдвиг сохранился.
Особенно интересно то, что этот сдвиг в точности соответствовал сдвигу моего украинского летнего времени относительно гринвича. Заметив это я заподозрил, что у меня что то не так в установках таймзоны. В установках я переменной TZ я не нашел. При установке системы с помощью sysinstall я установил зоной EET. Это было где-то в марте. Сейчас он мне выводит EEST.
Почитав маны я написал такое
TZ=EET-2EEST-3M3.5.6/3,M10.5.6/3
Это написано для Украины (Полтава, не очень далеко от Киева)
Я прописал эту переменную, но, теперь, в ответ на date система сообщает нечто XXXXX GMT.
Что я сделал неправильно и как это побороть все это побороть ?