Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: запуск двух скриптов последовательно с заданной периодичностью каждые два часа  (Прочитано 2810 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн petren

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Добрый день!
Есть два скрипта:
1.  /etc/init.d/datadistributor
2.  /etc/init.d/buffer2dbmover
Проблема такая: очень часто их приходится дергать в ручную и как правило не по отдельности, а оба сразу, но один можно рестартовать, а второй обязательно ( службу) нужно останавливать и заново запускать, последовательность до точности следующая и постоянная:

1.   sudo /etc/init.d/datadistributor restart
ожидание секунд 5 когда служба запустится
2.   sudo /etc/init.d/buffer2dbmover stop
3.   sudo /etc/init.d/buffer2dbmover start

Помогите написать скрипт который будет последовательно выполнять эти действия, раз в два часа. Я пробовал положить их /etc/cron.hourly  раз в час чтоб выполнялись, но не похоже что они выполняются.




Petren

ефгкгы

  • Гость
для добавления скрипта в расписание используйте команду crontab -e
если от рута, то sudo crontab -e
для запуска двух скриптов напишите третий, что-то вроде:
sh skript1
sleep 10
sh skript2
или в вашем случае
sudo /etc/init.d/datadistributor restart  >> /dev/null
sleep 5
sudo /etc/init.d/buffer2dbmover stop >> /dev/null
sudo /etc/init.d/buffer2dbmover start >> /dev/null
« Последнее редактирование: 20 Мая 2011, 19:43:36 от ефгкгы »

Оффлайн petren

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
а что внутри третьего положить, как правильно описать последовательность именно ту, которую описывал выше ?
Petren

Оффлайн фирэфохэ

  • Старожил
  • *
  • Сообщений: 2169
  • straightedge
    • Просмотр профиля
:idiot2: Забудьте про sh. За то что пишут sh в скриптах руки отрубать надо.

#! /bin/bash
/etc/init.d/datadistributor restart
sleep 5
/etc/init.d/buffer2dbmover stop
/etc/init.d/buffer2dbmover start
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ - УГ. Дебиан - недоось.

Оффлайн petren

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
сразу сообщение ваше почему то не полностью пришло, не прочел до конца,спасибо большое сейчас буду пробовать

Пользователь решил продолжить мысль 20 Мая 2011, 19:49:21:
следом и еще вопросик, чтоб он автоматически выполнялся при старте системы, третий скрипт тоже помещать нужно в /etc/init.d/ ???

Пользователь решил продолжить мысль 20 Мая 2011, 23:17:00:
:-\ большое спасибо всем за помощь, скрипт заработал успешно и с автозагрузкой разобрался, но вот из первого пункта у меня тут же образовалась очень важная и серьезная проблема:
1.     /etc/init.d/datadistributor restart
если данная служба остановилась то restart не срабатывает, а вернее не помогает. выдает вот такое сообщение :
 /var/run/datadistributor.pid
Restarting Data distribution service:
Stopping Data distribution service:
вообщем теперь встает вопрос в следующем: как прописать проверку данной службы datadistributor , если она и так остановлена то запускать не  /etc/init.d/datadistributor restart службы, а   /etc/init.d/datadistributor start....
« Последнее редактирование: 20 Мая 2011, 23:17:00 от petren »
Petren

 

Страница сгенерирована за 0.11 секунд. Запросов: 23.