Первый Нижегородский АвтоФорум (Архив)  

Вернуться   Первый Нижегородский АвтоФорум (Архив) > Форумы неавтомобильной тематики > Компьютерный
Нижегородский АвтоПортал (Архив) Справка Галереи Участники Автовзаимопомощь Календарь Поиск Сообщения за день Все разделы прочитаны

Последние сообщения с Пейджера. Показать все
За последнее время сообщений нет.
Внимание! Это архив форума.
Это архив форума и доступен в режиме "только чтение". Текущий форум находится по старому адресу www.autoforum.pro.
Компьютерный Для компьютерщиков за рулем, ну или для водил за компьютером.Обсуждения Crack'ов Keygen'ов и пиратского софта строго запрещены.

 
Опции темы Поиск в этой теме Опции просмотра
 
Старый 01-10-2010, 13:49   #1
demos
Постоянный посетитель
Попробуй так:
$ tail -f /home/user/screenlog.0 | xargs -0 -d'\n' -i{} echo {} $(date) | grep "нужная строка" >> newlog.log
demos вне форума  
 
Старый 01-10-2010, 14:00   #2
Автолюбитель
Завсегдатай
Хреново мне - ничего в синтаксисе не понимаю. Короче работает, но частично: изначальные строки умирают, вместо них пишется только дата.

Только что заметил! --> дата-то у всех новых строк ОДНА И ТАЖЕ, та, которая была на момент запуска конвейера. Что наводит на мысль, что просто конвейером эту такую, казалось бы тривиальную, задачу не решить, а нужно писать цельный скрипт?
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 01-10-2010, 14:32   #3
demos
Постоянный посетитель
Цитата:
Сообщение от Автолюбитель
Только что заметил! --> дата-то у всех новых строк ОДНА И ТАЖЕ, та, которая была на момент запуска конвейера. Что наводит на мысль, что просто конвейером эту такую, казалось бы тривиальную, задачу не решить, а нужно писать цельный скрипт?

Надо бы еще конечно подумать, но похоже, что да, нужно скриптом решать.
demos вне форума  
 
Старый 01-10-2010, 14:35   #4
andruxa
Флудер
Заверни в сислог и не мучай мозг.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 01-10-2010, 15:37   #5
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
Заверни в сислог
Мне надоело маны читать, к тому же один хрен с первого раза не заработает и снова буду вопросы задавать )
Заделись сразу как сделать-то )

Вот тут вроде паренька учат создать свою точку входа для лога.

Логика такова (см. нижеследующее)?
1. Волевым решением определяем, что входной лог для syslogd будет файл ~/4syslog
2. Где-то рассказываем самому syslogd'у о нашей охрененной задумке по открытию для него нового сокета:
куда-то надо написать что-то типа этого: -m 0 -a ~/4syslog Вопрос куда?
3. В конфиге syslogd'а /etc/syslog.conf что-то наподобие этого нужно добавлять?
*.* ~/4syslog
4. Теперь, говорят, нужно рестартануть:
service syslog restart

Итоговый вопрос - куда теперь всё пишется-то?
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 01-10-2010, 15:49   #6
andruxa
Флудер
Смотри. Савим syslog-ng.
Задаем сорс:
Код:
source screensrc { file("/home/user/screenlog.0"); };
Задаем дестинейшн:
Код:
destination screendst { file("/var/log/screen0.log"); };
Задаем фильтр:
Код:
filter screenflt { match("regex" value("OUR_GREP_STRING")); };
Пишем лог:
Код:
log { source(screensrc); filter(screenflt); destination(screendst); };
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 01-10-2010, 16:02   #7
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
Смотри. Савим syslog-ng.
Спасибо, конечно, но к радикальным шагам я не готов, помучаюсь ещё с настройкой стандартного syslogd. Вот, сцк, относительно недавно на ЛОРе ходил по ссылке на ibm, где как раз статью по логгированию давали - не нужна была, а теперь ищи её...

Код:
$ sudo apt-get install syslog-ng .... The following packages will be REMOVED: klogd sysklogd ubuntu-minimal The following NEW packages will be installed: syslog-ng

Я чё-та пока не считаю себя умнее разработчиков/сборщиков сервера Убунты )
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 01-10-2010, 16:16   #8
andruxa
Флудер
Зря.
Тогда задавай в конфиге facility как:
Код:
screenlog.first /var/log/screen0.log
и корми tail в logger:
Код:
tail -f screenlog.0 | grep 'OUR_GREP_STRING' | logger -p screenlog.first"
и logrotate для красоты и защиты от переполнения.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 05-10-2010, 19:50   #9
Автолюбитель
Завсегдатай
Цитата:
Сообщение от Автолюбитель
ходил по ссылке на ibm, где как раз статью по логгированию давали
Нашёл-таки. Пусть тут лежит.
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 05-10-2010, 20:25   #10
MK011
Флудер
Ну хоть помогло?
MK011 вне форума  
 
Старый 05-10-2010, 21:44   #11
Автолюбитель
Завсегдатай
Цитата:
Сообщение от MK011
Ну хоть помогло?
У меня энтузиазм закончился в тот же день, а нового всё никак не накоплю, чтобы узнать уже что такое facility и где его нужно задавать )

Так или иначе, всем поучаствовавшим в теме - огромная благодарность!
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 16:33   #12
Автолюбитель
Завсегдатай
Короче, поднакопил сегодня энтузиазма. Спервоначалу прочитал найденную статью, потом долго втыкал в то, что написал мне anduxa. Периодически заглядывая то в man logger то в man syslog.conf. Пять раз перегружал сервак* силясь осознать, как это так, при пуске конвейера выдаёт мне ошибку: "logger: unknown facility name: screenlog." Когда энтузиазм был практически про@н, в man syslog.conf мне внезапно открылось следующее:
Цитата:
Сообщение от man syslog.conf
The facility is one of the following keywords: auth, authpriv, cron, daemon, ftp,
kern, lpr, mail, mark, news, security (same as auth), syslog, user, uucp and local0
through local7.
Из последних сил напрягая извилины и те участки памяти, что позволяют мне хреново, но понимать буржуйскую мову, я вдруг осознал, что данный абзац можно, а главное нужно, понимать следующим образом: "Фасилитей могут быть ТОЛЬКО СТРОГО СЛЕДУЩИЕ СЛОВА: auth, authpriv, cron, daemon, ftp, kern, lpr, mail, mark, news, security (тоже самое что auth), syslog, user, uucp и от local0 до local7."

"Ёб@а в не скажу куда", воскликнул тогда я и, переписав строчки, любезно подсказанные мне anduxa'ой в следующем верном виде:
Код:
в /etc/syslog.conf запишем такую строку: local0.* _тут_минима_1_табуляция_ -/var/log/screen0.log tailf screenlog.0 | logger -p local0.debug
Получил долгожданный результат!

*Да, я пока ещё не знаю как перезапускать демонов не рестартуя сервер.
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 17:37   #13
MK011
Флудер
Перезапускать просто: в /etc/init.d ищем скрипт с именем демона (например, syslogd). Если у него есть параметр restart - то вуаля. Если нет, то используем последовательно две команды: /etc/init.d/хрень stop и /etc/init.d/хрень start :-)
MK011 вне форума  
 
Старый 07-10-2010, 18:21   #14
Автолюбитель
Завсегдатай
Попытаюсь освоить на досуге ) Спасибо.

А пока ещё один вопрос по логгированию. В умной статье читаю:
Цитата:
Все файлы, определенные в конфигурационном файле, syslogd создает сам. Если нужно обнулить содержимое журнального файла, то это можно сделать следующим образом:
Код:
echo –n > file
при этом демону сигнал HUP посылать не нужно, он будет продолжать с ним работать.
Пытаюсь повторить - хрен там:
Код:
sudo echo –n > /var/log/my.log -bash: /var/log/my.log: Permission denied
Почему меня все пытаются наебобмануть в этом вашем линуксе?! )
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 18:59   #15
MK011
Флудер
Потому что читаете всякую ерунду. А смотрите:
Цитата:
root@chat-ok log]# ls -l messages
-rw-r----- 1 root root 250685 2010-10-07 17:37 messages
savelog какой-нибудь спасёт гиганта мысли.
MK011 вне форума  
 
Старый 07-10-2010, 19:29   #16
Автолюбитель
Завсегдатай
Цитата:
Сообщение от MK011
Потому что читаете всякую ерунду.

savelog какой-нибудь спасёт гиганта мысли.
Статья на ibm больше не авторитет?! Мир рушится, идеалы попраны, не во что больше верить... )

Ну, у меня:
Код:
user@us804:~$ ls -l /var/log/my.log -rw-r--r-- 1 root root 0 2010-10-07 18:27 /var/log/my.log

Глянул man savelog - где там опция грамотной очистки лог-файла не нашёл.
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 20:05   #17
Автолюбитель
Завсегдатай
Ну и ещё до кучи проблему нашёл:
конвейер не пашет в скрине, а значит все усилия впустую (
Код:
screen tail -f ~/quake2/screenlog.0 | logger -p local0.debug
т. е. в окне виртуального терминала скрина я вижу что команда tail отрабатывает, идёт дублирование первоначального лога. а вот logger, сцк-а, не пуляет ничего syslogd'у, ибо выходной лог-файл пуст. если запустить тоже самое просто в строке терминала:
Код:
tail -f ~/quake2/screenlog.0 | logger -p local0.debug
выходной лог-файл syslogd пишет.

Мля, этож какие надо иметь стальные яйца нервы, чтобы бесконечное время ковыряться в этой такой дружественной админу ОСи для выполнения казалось бы простейших операций!
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 20:13   #18
andruxa
Флудер
не понял. как это ты видишь вывод после tail без tee если он у тебя в пайпе? Зачем пускать tail внутри скрина? Ты задачу точно с той стороны решаешь?
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 07-10-2010, 23:04   #19
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
ты видишь вывод после tail без tee

Зачем пускать tail внутри скрина?
а вот такой он, загадочный мир линукса!!1

где мне его ещё пускать, если мне нужно чтобы этот конвейер висел себе и работал, когда я отключаюсь по ssh?
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 23:07   #20
andruxa
Флудер
В идеале - из инитскрипта. а так 'nohup <command> &'. Тебе точно screen нужен?
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 07-10-2010, 23:16   #21
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
В идеале - из инитскрипта. а так 'nohup <command> &'. Тебе точно screen нужен?
screen - мною лично проверен и считался до этого последнего вопиющего случая как отличное средство оставлять нужные мне программы в бэкграунде. ничего другого просто не знаю. но, теперь, видимо, придёться узнать. мне вообще, чувствую, ещё маленько осталось до того, чтобы освоить компиляцию своего ядра )))
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 23:18   #22
andruxa
Флудер
Цитата:
Сообщение от Автолюбитель
чувствую, ещё маленько осталось до того, чтобы освоить компиляцию своего ядра )))
Лет 5 назад перестал этим заниматься в домашних условиях (тогда еще были проблемы с железом). Надо просто научиться пользоваться тем что есть.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 07-10-2010, 23:22   #23
andruxa
Флудер
зы: запускать server-process в скрине неудачная затея изначально. Не надо.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 07-10-2010, 23:26   #24
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
запускать server-process в скрине
учту, конечно, но вот только возникает вопрос, а который из моих процессов - сервер?
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 23:31   #25
andruxa
Флудер
Имелось в виду что процесс который должен быть постоянно запущен - не морока пользователя. Ты же не считаешь логичным каждый раз руками запускать капс, иксы, блюз и прочую требуху.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 07-10-2010, 23:23   #26
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
Надо просто научиться пользоваться тем что есть.
А я и учусь. Только выглядит это пока очень странно. Дату со временем к строчкам лога прибавить — 5 дней, 3 страницы текста на форуме и решения до сих пор нет (и это с учётом внешней помощи)!
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 23:28   #27
andruxa
Флудер
Сформулируй задачу изначально. 'quake2' натолкнуло на то что ты делаешь банальный game-server, но особо извращенным путем. И в этом случае с выводом на консоль от процесса действительно могут твориться странности, поскольку неизвестно чем и как он осуществляется.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 07-10-2010, 23:46   #28
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
Сформулируй задачу изначально.
запускаю q2-сервер. сервер в скрине работает отлично (единственное, пока не разобрался как его авторанить при перезагрузках сервера, но я вообще ничего не умею авторанить в линуксе, это следующий этап моего развития) и пишет в виртуальный терминал скрина свою консоль (сообщения и введённые команды). всё было б хорошо, но создатели q2-сервера по неведомой мне причине не пишут дату и время каждого события/сообщения. а мне вдруг понадобилось, ибо хочу в php вывод сделать, вида:
Последние подключавшиеся игроки
date-time Player connected
date-time Player2 connected
date-time Player3 connected
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 07-10-2010, 23:56   #29
andruxa
Флудер
Угадал. Скрин тебе не нужен. Проблемы с пайпом из-за наверняка нестандартного вывода приложения. Посему не надо пытаться его ловить в консоли, afair q2сервер сам отлично пишет лог в файл. А запускать его должен, как я уже выше говорил, init скрипт.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 08-10-2010, 00:00   #30
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
Скрин тебе не нужен.

Проблемы с пайпом из-за наверняка нестандартного вывода приложения.
screen в данном конкретном случае удобен тем, что позволяет в любой момент открыть терминал (в котором запущена консоль сервера) и ввести команду серверу. а если запускать его как самостоятельный процесс, то управлять сервером можно будет только с клиента. пережить, конечно, можно.

сервер может писать лог, но, собственно, чем его дамп своей консоли будет отличаться от дампа его же консоли, сделанной screen'ом?! и там и там в итоге имеем текстовый файл. опять без тех же временных меток.
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 08-10-2010, 00:03   #31
andruxa
Флудер
команду Qсерверу вводят через rcon.
ТЕМ ЧТО ОН НАВЕРНЯКА ИСПОЛЬЗУЕТ НЕСТАНДАРТНЫЙ ВЫВОД.
У него своя консоль. Совсем своя. И то что это буковки на черном фоне еще ничего не говорит.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 08-10-2010, 00:10   #32
Автолюбитель
Завсегдатай
Цитата:
Сообщение от andruxa
команду Qсерверу вводят через rcon.

ТЕМ ЧТО ОН НАВЕРНЯКА ИСПОЛЬЗУЕТ НЕСТАНДАРТНЫЙ ВЫВОД.
я в курсе.

а по-человечески, что это означает? что конкретно в нём может быть НЕСТАНДАРТНО*? желательно с примерами. потому как для меня вывод - в любом случае текст (кучка неких символов), ну пусть с вкраплениями спец-символов типа ^H, ^M.

*секретная команда вызывающая kernel panic? )
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 08-10-2010, 00:14   #33
andruxa
Флудер
Ага. Но копать слишком глубоко. Ключевые слова stdin, stdout, stderr. В случае q2 (сам вспомнил о возможности вводить команды в консоль приложения) скрин просто не понимает/не видит что внутри него происходит.
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 08-10-2010, 00:18   #34
Автолюбитель
Завсегдатай
Ничего не понял. Кто такой нестандартный вывод так и останется для меня великой тайной линукса )
__________________
— Я не скажу своё имя машине! (с) м/ф Футурама
Автолюбитель вне форума  
 
Старый 08-10-2010, 00:22   #35
andruxa
Флудер
Забей. Это не так важно. Первая пришедшая в голову кривая аналогия - когда кино в Windows Media Player играет и PrintScr нажимаешь - вместо кадра из фильма в буфере обмена черный квадрат. Вот и тут такая же фигня.
__________________
ДА... ну да...
andruxa вне форума  


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +4, время: 05:27.


vBulletin v3.5.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Хостинг предоставлен компанией ТТК