Nytlenc 0 Опубликовано: 2005-01-26 04:23:14 Share Опубликовано: 2005-01-26 04:23:14 Поставил я короче говоря под FreeBSD 5.2.1 Release биллинг под названием Stargazer (второй который). Настроил все скрипты как пологоается, настроил правила подсчета, начал он считать.....,и я конечно же подсел на него, остальные сидели на UserGate(e) втором......... (клиенты тобишь), тут я не успел перевести клиента первого самого для опробы.... не успели мы с клиентом проработать и дня (хотя сам обсчитывался я один на нем порядка дней 26.), как Stargazer выкидывает такую шутку........ вешает машину............ (в этот момент я работал с FTP)........ так ничего от машины я не добился, пришлось в ребут послать (за стенкой стоит), нажал заветную клавишу Reset. вошел в терминале, проверился на размонтирование - fsck , запускаю биллинг ( /sbin/stargazer) запускается............... но остался только порт UDP - 5555 а TCP порт 5555 кудато в ужасе испарился........ что только не пробовал, уже переставлял, сносил все кроме базы данных. Одинаково ему......... в логах ишет что 2005-01-26 13:23:10 -- User 'visser's' stat not read. Parameter D0. 2005-01-26 13:23:10 -- User visser's data not read. visser - под этим логином я сижу вот теперь незнаю что и делать, сносить его кебеням чтоль :muu: Ссылка на сообщение Поделиться на других сайтах
TriNo 0 Опубліковано: 2005-01-26 04:39:02 Share Опубліковано: 2005-01-26 04:39:02 Ага, был такой прикол и у меня - просто юзверя снеси и тогда все нормально запуститься. Ссылка на сообщение Поделиться на других сайтах
Nytlenc 0 Опубліковано: 2005-01-26 04:47:14 Автор Share Опубліковано: 2005-01-26 04:47:14 Во блин нормально................... это что теперь всю статистику его я получается потеряю? :00: так это же не дело.................. да и собственно как.......... если TCP админский порт не подымается............ блин........ че делать то. Ссылка на сообщение Поделиться на других сайтах
TriNo 0 Опубліковано: 2005-01-26 07:08:46 Share Опубліковано: 2005-01-26 07:08:46 Очень просто! Зайди в командную строку и там уже удали папочку этого юзверя в каталоге /var/stargazer/users/...... Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2005-01-26 08:04:04 Share Опубліковано: 2005-01-26 08:04:04 Во советчики..... ты бы глянул что там у юзверя с Д0 параметром.... и файлик stat мог бы показать .... ну накрайняк просто перенеси его папочку временно куда-то и стартани сервер...... Ссылка на сообщение Поделиться на других сайтах
TriNo 0 Опубліковано: 2005-01-26 09:37:58 Share Опубліковано: 2005-01-26 09:37:58 А вообще что бы избегать подобных ситуацый со статистикой луше ее время от времени сохранять Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2005-01-26 11:03:38 Share Опубліковано: 2005-01-26 11:03:38 У меня такой глюк бывает иногда. Раз в неделю примерно. Билд от 16.11.2004. У какого-нибудь пользователя затирается файл stat. Затирается - т.е. начинает весить 0 байт. Обошел я его таким путем: - каждый час делаю бекап папки /var/stargazer/users - раз в минуту у меня запускается скрипт, который проверяет, не упал ли сервер. Если сервер упал, анализирует лог и из записей 2005-01-26 13:23:10 -- User 'visser's' stat not read. Parameter D0. 2005-01-26 13:23:10 -- User visser's data not read. выуживает имя пользователя. Потом восстанавливает из бекапа файл stat данного пользователя. Кстати, этот же ежеминутный скрипт проверяет, не завис ли сервер stg. Зависания сервера, как я понял, в новой версии не замечаются. А вот обнуления файла stat, похоже, остались. 2Борис: посмотри пожалуйста, как такое получается. Ссылка на сообщение Поделиться на других сайтах
St@lker 0 Опубліковано: 2005-01-26 14:19:38 Share Опубліковано: 2005-01-26 14:19:38 XoRe поделиться с народом не хочешь скриптиком? Плз ... Ссылка на сообщение Поделиться на других сайтах
Nytlenc 0 Опубліковано: 2005-01-26 16:16:53 Автор Share Опубліковано: 2005-01-26 16:16:53 :-/ в общем друзья пришлось снести все к Бабушке Била Гейтса. :argh: И поставить по новой. В начале он ругался на пользователя............ я его снес....... предварительно сохранил лог и файл stat , потом он ругнулся на следующего и так продолжалось пока папка users не опустела......... :tongue: благо наработка была только у одного............. выжернул сумму пробил по новой пользователей.......... но это же не дело , а когда я всех переведу на Газера, это что же каждую неделю передергивать пользователей.......... блин........... Друг поделись скриптом......... очень признателен буду - Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2005-01-26 23:45:57 Share Опубліковано: 2005-01-26 23:45:57 гы В теме http://local.com.ua/forum/index.php?showtopic=1360 Den_LocalNet хорошо написал про слова "плиз", "срочно надо" и т.п. Это вам на будущее. Приду с универа, поделюсь. Ссылка на сообщение Поделиться на других сайтах
Nytlenc 0 Опубліковано: 2005-01-27 08:50:08 Автор Share Опубліковано: 2005-01-27 08:50:08 Спасиб, пока ты с универа приедешь я уже миллион скриптов накидаю.......... не такой уж он и сложный...... вот доделаю чтоб без косяков и выложу :rrr: Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2005-01-27 14:32:32 Share Опубліковано: 2005-01-27 14:32:32 Вот вот. Я о том-же. Скрипты простые. У меня работает такая связка: Скрипт для бэкапа #!/usr/local/bin/perl exit unless (`/bin/ps -ax | /usr/bin/grep /usr/local/sbin/stargazer | /usr/bin/grep -v grep | /usr/bin/awk '{print \$3}'`); ($hour, $day, $month, $year) = (localtime)[2..5]; $year += 1900; $month++; $month = '0'.int($month) if ($month < 10); $day = '0'.int($day) if ($day < 10); $hour = '0'.int($hour) if ($hour < 10); $date = "$year.$month.$day.$hour"; ($h, $d, $m, $y) = (localtime(time - 21600))[2..5]; $y += 1900; $m ++; $d = '0'.int($d) if ($d < 10); $m = '0'.int($m) if ($m < 10); $m = '0'.int($m) if ($m < 10); $h = '0'.int($h) if ($h < 10); $old = "$y.$m.$d.$h"; `/bin/mkdir /var/back/$date`; `/bin/mkdir /var/back/$date/log`; `/bin/cp -rf /var/stargazer /var/back/$date`; `/bin/cp -rf /var/log/stargazer/ /var/back/$date/log`; `/bin/rm -rf /var/back/$old`; Запускается каждый час. Бэкапит содержимое /var/stargazer в /var/back/$date, а /var/log/stargazer в /var/back/$date/log. В папке /var/back постоянно хранятся 6 последних бэкапов. Скрипт для проверки состояния: #!/usr/local/bin/perl $adr = 'adr@host.ru'; ($sec, $min, $hour, $day, $month, $year) = (localtime)[0..5]; $year += 1900; $month++; $month = '0'.int($month) if ($month < 10); $day = '0'.int($day) if ($day < 10); $hour = '0'.int($hour) if ($hour < 10); $min = '0'.int($min) if ($min < 10); $sec = '0'.int($sec) if ($sec < 10); $date = "$year.$month.$day.$hour"; $time = "$year.$month.$day $hour:$min:$sec"; if ($stat = `/bin/ps -ax | /usr/bin/grep /usr/local/sbin/stargazer | /usr/bin/grep -v grep | /usr/bin/awk '{print \$3}'`) { chomp $stat; if ($stat eq 'I<s'){ `/usr/local/etc/rc.d/stargazer.sh reload`; `echo '$time: reload' >> /var/log/stargazer/check.log`; } exit; }elsif($user = `/usr/bin/tail -n 2 /var/log/stargazer/server.log | /usr/bin/head -n 1 | /usr/bin/awk '{print \$5}'`) { chomp $user; $user =~ s/(^\'|\'s\'$)//g; `/bin/cp -f /var/back/$date/stargazer/users/$user/stat /var/stargazer/users/$user/`; `/usr/local/etc/rc.d/stargazer.sh start`; `echo '$time: killed on $user' >> /var/log/stargazer/check.log`; `echo '$time: stargazer.killed' | /usr/bin/mail -s stargazer $adr`; } Запускается каждую минуту. Перезапускает сервер при подвисаниях (в последних билдах уже не нужно) и восстанавливает файл stat у нужного юзера. Кроме того посылает письмо на указанный адрес. Советую править по вкусу =) Ссылка на сообщение Поделиться на других сайтах
St@lker 0 Опубліковано: 2005-01-27 19:54:32 Share Опубліковано: 2005-01-27 19:54:32 ПАСИБА!!! Мля, значка пиво нет! Ссылка на сообщение Поделиться на других сайтах
benya 0 Опубліковано: 2005-06-14 19:04:52 Share Опубліковано: 2005-06-14 19:04:52 Объясните, плиз, что означают сии строки: exit unless (`/bin/ps -ax | /usr/bin/grep /usr/local/sbin/stargazer | /usr/bin/grep -v grep | /usr/bin/awk '{print \$3}'`); и ($stat = `/bin/ps -ax | /usr/bin/grep /usr/local/sbin/stargazer | /usr/bin/grep -v grep | /usr/bin/awk '{print \$3}'`) Скрипт на моем серваке в таком виде не запускается. В силу абсолютно нулевых знаний perl я не могу эти строки переделать, поскольку не знаю их назначения. Буду очень признателен. Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2005-06-15 00:52:29 Share Опубліковано: 2005-06-15 00:52:29 текст в `` таких ковычках исполняется не перлом, а шеллом sh, bash, tcsh и т.д. команда /bin/ps -ax | /usr/bin/grep /usr/local/sbin/stargazer | /usr/bin/grep -v grep | /usr/bin/awk '{print $3}' получает pid запущеного старгейзера. Кстати забыл обратить внимание, у меня stargazer лежит в /usr/local/sbin/ У остальных он, наверное, лежит в /usr/sbin Ссылка на сообщение Поделиться на других сайтах
centre-lan 1 Опубліковано: 2005-06-15 08:03:04 Share Опубліковано: 2005-06-15 08:03:04 текст в `` таких ковычках исполняется не перлом, а шеллом sh, bash, tcsh и т.д.команда /bin/ps -ax | /usr/bin/grep /usr/local/sbin/stargazer | /usr/bin/grep -v grep | /usr/bin/awk '{print $3}' получает pid запущеного старгейзера. Кстати забыл обратить внимание, у меня stargazer лежит в /usr/local/sbin/ У остальных он, наверное, лежит в /usr/sbin скорее в /sbin/ Ссылка на сообщение Поделиться на других сайтах
benya 0 Опубліковано: 2005-06-15 08:25:53 Share Опубліковано: 2005-06-15 08:25:53 текст в `` таких ковычках исполняется не перлом, а шеллом sh, bash, tcsh и т.д. Это я понял Кстати забыл обратить внимание, у меня stargazer лежит в /usr/local/sbin/У остальных он, наверное, лежит в /usr/sbin С этим у меня тоже проблем не возникло. команда /bin/ps -ax | /usr/bin/grep /usr/local/sbin/stargazer | /usr/bin/grep -v grep | /usr/bin/awk '{print $3}'получает pid запущеного старгейзера. Вот здесь мне не совсем понятно. Дело в том, что pid stargazer'a я могу получить и командой "ps -ax | grep stargazer", ну или в переводе на этот язык это будет выглядеть так: "/bin/ps -ax | /bin/grep /sbin/stargazer". Мне остальной кусок команды не понятен. Дел в том, что даже если СТГ висит, он все равно виден в процессах. А когда я запускаю команду в таком виде (адаптированном под мой сервак) он упорно отправляет меня к хелпам grep'a. Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2005-06-16 20:51:03 Share Опубліковано: 2005-06-16 20:51:03 просто команда /bin/ps -ax | /usr/bin/grep /usr/local/sbin/stargazer выведет не только строчку с стг, но и может вывести 681 p0 R+ 0:00.00 /usr/bin/grep /usr/local/sbin/stargazer поэтому я добавил | /usr/bin/grep -v grep чтобы убрать это. А строчка | /usr/bin/awk '{print $3}' Вылавливает состояние процесса, т.е. R+, S<s, I<s и т.д. Эти скрипты для версии от 15.11.2004. Для более поздних версий я сейчас пишу новые скрипты. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас