The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"помогите, пожалуйста!"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"помогите, пожалуйста!"  
Сообщение от leou email(ok) on 30-Мрт-07, 20:32 
Я начинающий сисадмин. Опыта еще не хватает. Получил такое задание: есть скрипт бэкапа, в который надо вставить проверку на запуск процесса ontape. если ontape запущен, то на почту должно отправляться письмо (типа "Бэкап не запущен") и бэкап соответственно не запускаться. если ontape не запущен, то должен запускаться бэкап. Помогите, пожалуйста! Заранее благодарен!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "помогите, пожалуйста!"  
Сообщение от phpcoder (??) on 30-Мрт-07, 22:14 
>Я начинающий сисадмин. Опыта еще не хватает. Получил такое задание: есть скрипт
>бэкапа, в который надо вставить проверку на запуск процесса ontape. если
>ontape запущен, то на почту должно отправляться письмо (типа "Бэкап не
>запущен") и бэкап соответственно не запускаться. если ontape не запущен, то
>должен запускаться бэкап. Помогите, пожалуйста! Заранее благодарен!

А как вам собственно помочь-то? За вас написать? Ну давайте, попробую сходу прикинуть, а уж дотачивать до работоспособного состояния сами будете?

PID="`pidof ontape`" # можно юзать pgrep или парсить вывод ps
if [ -z "$PID" ]; then
    # ontape запущен
    # отправляем письмо с помощью программы mail(1)
    ...
    exit 1
fi


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "помогите, пожалуйста!"  
Сообщение от leou email(ok) on 02-Апр-07, 20:57 
>>Я начинающий сисадмин. Опыта еще не хватает. Получил такое задание: есть скрипт
>>бэкапа, в который надо вставить проверку на запуск процесса ontape. если
>>ontape запущен, то на почту должно отправляться письмо (типа "Бэкап не
>>запущен") и бэкап соответственно не запускаться. если ontape не запущен, то
>>должен запускаться бэкап. Помогите, пожалуйста! Заранее благодарен!
>
>А как вам собственно помочь-то? За вас написать? Ну давайте, попробую сходу
>прикинуть, а уж дотачивать до работоспособного состояния сами будете?
>
>PID="`pidof ontape`" # можно юзать pgrep или парсить вывод ps
>if [ -z "$PID" ]; then
>    # ontape запущен
>    # отправляем письмо с помощью программы mail(1)
>    ...
>    exit 1
>fi


Спасибо огромное! Вот что у меня получилось:
PID="`ps -A|grep ontape`"
if [ -n "$PID" ]; then
   echo "ontape уже запущен. Backup не запущен." > $tmp     # ontape запущен
  /usr/bin/mail -s 'Warning! Backup!' $addrs1 < $tmp     # отправляем письмо mail(1)
    exit 1
fi
Я Вам очень благодарен за помощь!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "помогите, пожалуйста!"  
Сообщение от dronord (ok) on 05-Апр-07, 14:02 
PID="`ps -A|grep ontape`"
if [ -n "$PID" ]; then ...

Неправильно! Вы можете потерять бэкап.
Команда "ps -A|grep ontape" может найти "grep ontape" и тогда ваше условие тоже будет верно, но ведь это не так?

Если ontape работает в одном экземпляре либо неважно количество - используйте pidof!

Если их несколько, они выполняют разные задачи, а Вам нужен конкретный процесс с конкретными параметрами запуска, нужно вручную разбирать вывод "ps -A|grep ontape". Либо окружить запуск ontape скриптом, который создаст файл-флаг и уже Ваш скрипт будет проверять этот флаг.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "помогите, пожалуйста!"  
Сообщение от leou email(ok) on 05-Апр-07, 14:15 
>PID="`ps -A|grep ontape`"
>if [ -n "$PID" ]; then ...
>
>Неправильно! Вы можете потерять бэкап.
>Команда "ps -A|grep ontape" может найти "grep ontape" и тогда ваше условие
>тоже будет верно, но ведь это не так?
>
>Если ontape работает в одном экземпляре либо неважно количество - используйте pidof!
>
>
>Если их несколько, они выполняют разные задачи, а Вам нужен конкретный процесс
>с конкретными параметрами запуска, нужно вручную разбирать вывод "ps -A|grep ontape".
>Либо окружить запуск ontape скриптом, который создаст файл-флаг и уже Ваш
>скрипт будет проверять этот флаг.


Насколько я знаю "grep ontape" находит команда ps -Af|grep ontape.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "помогите, пожалуйста!"  
Сообщение от dronord (ok) on 05-Апр-07, 15:05 
>Насколько я знаю "grep ontape" находит команда ps -Af|grep ontape.

"А"-то я и не заметил.
Тогда решение верное, если Вас не интересуют параметры запуска ontape.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру