помогите, пожалуйста!, leou, 30-Мрт-07, 20:32 [смотреть все]Я начинающий сисадмин. Опыта еще не хватает. Получил такое задание: есть скрипт бэкапа, в который надо вставить проверку на запуск процесса ontape. если ontape запущен, то на почту должно отправляться письмо (типа "Бэкап не запущен") и бэкап соответственно не запускаться. если ontape не запущен, то должен запускаться бэкап. Помогите, пожалуйста! Заранее благодарен! |
- помогите, пожалуйста!, phpcoder, 22:14 , 30-Мрт-07 (1)
>Я начинающий сисадмин. Опыта еще не хватает. Получил такое задание: есть скрипт >бэкапа, в который надо вставить проверку на запуск процесса ontape. если >ontape запущен, то на почту должно отправляться письмо (типа "Бэкап не >запущен") и бэкап соответственно не запускаться. если ontape не запущен, то >должен запускаться бэкап. Помогите, пожалуйста! Заранее благодарен!А как вам собственно помочь-то? За вас написать? Ну давайте, попробую сходу прикинуть, а уж дотачивать до работоспособного состояния сами будете? PID="`pidof ontape`" # можно юзать pgrep или парсить вывод ps if [ -z "$PID" ]; then # ontape запущен # отправляем письмо с помощью программы mail(1) ... exit 1 fi
- помогите, пожалуйста!, leou, 20:57 , 02-Апр-07 (2)
>>Я начинающий сисадмин. Опыта еще не хватает. Получил такое задание: есть скрипт >>бэкапа, в который надо вставить проверку на запуск процесса 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 Я Вам очень благодарен за помощь!
- помогите, пожалуйста!, dronord, 14:02 , 05-Апр-07 (3)
PID="`ps -A|grep ontape`" if [ -n "$PID" ]; then ...Неправильно! Вы можете потерять бэкап. Команда "ps -A|grep ontape" может найти "grep ontape" и тогда ваше условие тоже будет верно, но ведь это не так? Если ontape работает в одном экземпляре либо неважно количество - используйте pidof! Если их несколько, они выполняют разные задачи, а Вам нужен конкретный процесс с конкретными параметрами запуска, нужно вручную разбирать вывод "ps -A|grep ontape". Либо окружить запуск ontape скриптом, который создаст файл-флаг и уже Ваш скрипт будет проверять этот флаг.
- помогите, пожалуйста!, leou, 14:15 , 05-Апр-07 (4)
>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.
- помогите, пожалуйста!, dronord, 15:05 , 05-Апр-07 (5)
>Насколько я знаю "grep ontape" находит команда ps -Af|grep ontape. "А"-то я и не заметил. Тогда решение верное, если Вас не интересуют параметры запуска ontape.
|