The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
хвост-F wannalearn Shell программирование и сценарии 4 04-10-2007 05:22 PM
Хвост?? qfwfq Shell программирование и сценарии 7 06-19-2006 01:15 AM
Как СЕПГ с хвостом redlotus72 UNIX для чайников Вопросы И Ответы 1 08-30-2005 05:27 AM
с помощью хвоста-F cdunavent Shell программирование и сценарии 6 10-23-2002 05:10 PM
Хвост пользователя bbutler3295 UNIX для чайников Вопросы И Ответы 7 03-21-2002 06:47 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 05-17-2006
КНСО jisc is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Сообщений: 6
Помощь с использованием сценариев на хвост

Привет, просто нуждаются в помощи здесь, я эту команду, которая мне нужна для запуска всего в день, в основном это будет только следить за лог-файл и распечатать, если линия Theres ошибку.

хвост-F L * | grep "процесс мертв"

это эхо линии "*** процесс DEAD: RW [Signal ж / дамп: 10] ***" когда программа журналы мертвой процесса ошибка.

Что мне нужно, чтобы добавить команду, которая будет выполнять каждый раз, когда одна линия grep. может кто-то здесь, поможет мне.

может быть, его-то, что выглядит так, но я не знаете синтаксиса.

хвост-F L * | grep "процесс мертв" EXEC-mailx "Blah Blah" () \;

кто-нибудь может мне помочь?
Old 05-18-2006
ranj @ CHN ranj@chn is offline Forum Advisor  
Игра с Ubuntu сейчас!
  
 

Регистрация: Oct 2005
Место проведения: Ченнай
Сообщений: 365
нечто подобное

У вас есть нечто подобное здесь
Old 05-19-2006
КНСО jisc is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Сообщений: 6
спасибо за ссылку ranj

Код:
#! /bin/ksh
curr_date = `date "+%m.%d"`
file=/datamart/logs/LOG.`date "+%m.%d"`

tail -f $file |&
while read -p err_line; 
do [[ $err_line = "*** PROCESS IS DEAD: RW [Signal w/ Core dump: 10] ***" ]] && {
  echo "mailx scripts goes here"
 }
done
Я знаю слишком litlle из скриптов и поэтому я хотел бы спросить, если вы, ребята, можете мне помочь отладки этого кода. приведенный выше код работает, потому что в целом не определен, но я просто хочу шаблон матч не абсолютное совпадение линии поэтому я хочу изменить его на "* Процесс DEAD *", но это не работает. Вы можете помочь мне в этом? Какая схема соответствия работ по сценариев?

И еще одна важная вещь, я бы хотел добавить, как вы можете видеть мое имя файла журнала является LOG.MM.DD где мм в месяц, и ДД является день. Как я могу добавить код в сценарий, чтобы хвост команду остановиться и начать все сначала на 12:05 утра (когда файл журнала название изменится). в основном я имел в виду изменения, а часть по а читать-P err_line И И curr_date \u003d `дата" +% М.% D "` и затем поместить весь код в один цикл.

Итак, я оказался thinkng изменить сценарий от этого выше, это:

Код:
#! /bin/ksh
do
curr_date = `date "+%m.%d"`
file=/datamart/logs/LOG.`date "+%m.%d"`
tail -f $file |&
while read -p err_line && curr_date = `date "+%m.%d"`; 
do [[ $err_line = "*PROCESS IS DEAD*" ]] && {
  echo "mailx scripts goes here"
 }
done
done
но не работает, может вы, ребята, помогите мне исправить это?
Old 05-19-2006
ranj @ CHN ranj@chn is offline Forum Advisor  
Игра с Ubuntu сейчас!
  
 

Регистрация: Oct 2005
Место проведения: Ченнай
Сообщений: 365
Попробуй так!! Не знаете, если она эффективна.

а читать-P err_line
делать
Эхо $ err_line | grep "образец" И И Эхо "mailx скриптов идет здесь"
готово


Для изменения времени в лог-файл, вы можете проверить на данный момент в этом цикле и выезд после 00:00, а затем начать цикл заново. Смотрите, если это работает для вас.
Вы можете поймать PID в справочную работу и убить его, прежде чем передать в лог-файл имя, но убедитесь, что у вас есть много ошибок, проверить в скрипте. Я сделал это ниже, как это.
в то время как верно # главной петле
делать
хвост-F $ файл_журнала | И
а читать-р линия
делать
job_id \u003d $! # получить справочную работу процессе ID

Эхо $ LINE | grep "образец" И И Эхо "mailx скрипты искать здесь"

если [[ `Дата +% H` LT-1-A `Дата +% M`-GT 5]], затем # проверить ваше время
брейк; # вырваться из петли
FI
готово

убить $ job_id # убить ID

сон 5 # подождите некоторое время для убить для завершения своей деятельности.

файл_журнала \u003d "$ LOG/May_19.log" # переназначить файл_журнала
готово

Последний раз редактировалось ranj @ CHN; на 05-19-2006 02:08 AM..
Old 05-19-2006
КНСО jisc is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Сообщений: 6
Благодаря ranj, Ваш скрипт работает, я ценю вашу помощь
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 08:14 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0