Страница 1 из 1

Debian 5.0

Добавлено: 2010-06-28 16:31:21
Spook1680
Добрый день!
cron запускает задание каждые 10 мин.
делает выгрузку.
Подскажите может cron, не запускать следующее задание пока не выполнит это.
Вроде как в монуалах про это не написано. (я так понимаю у него нет таких возможностей?!!!)
Видел рекомендацию на anacron.

Re: Debian 5.0

Добавлено: 2010-06-29 9:13:42
hizel
ну на шеле напишите обертку, чтобы проверялось через lock файлик например

Re: Debian 5.0

Добавлено: 2010-06-29 9:29:26
Burner
а просто оба задания в 1 скрипт объединить нельзя?

Re: Debian 5.0

Добавлено: 2010-06-29 15:54:19
Spook1680
Burner писал(а):а просто оба задания в 1 скрипт объединить нельзя?
нет.
У)) нас же как. Начальство говорит что сделать и нии лишнего.
Скрипт запускается кроном каждые 10 мин.
Вот и задача что бы следующий не запустился пока не закончится отработка.

Re: Debian 5.0

Добавлено: 2010-06-29 15:59:08
Spook1680
hizel писал(а):ну на шеле напишите обертку, чтобы проверялось через lock файлик например
А можно для затравки кусочек "обертки". Для тех кто не шибко в этом рулит.

Re: Debian 5.0

Добавлено: 2010-06-29 16:04:24
hizel
как-то так, но по другому
http://www.linux.org.ru/forum/talks/365 ... nt-3655791

Re: Debian 5.0

Добавлено: 2010-06-30 6:07:41
Burner
Spook1680 писал(а):
Burner писал(а):а просто оба задания в 1 скрипт объединить нельзя?
нет.
У)) нас же как. Начальство говорит что сделать и нии лишнего.
Скрипт запускается кроном каждые 10 мин.
Вот и задача что бы следующий не запустился пока не закончится отработка.
что тут лишнего? запускаем 1 скрипт, за ним другой

Re: Debian 5.0

Добавлено: 2010-06-30 16:50:44
Spook1680
Burner писал(а):
Spook1680 писал(а):
Burner писал(а):а просто оба задания в 1 скрипт объединить нельзя?
нет.
У)) нас же как. Начальство говорит что сделать и нии лишнего.
Скрипт запускается кроном каждые 10 мин.
Вот и задача что бы следующий не запустился пока не закончится отработка.
что тут лишнего? запускаем 1 скрипт, за ним другой
Вмешиваться в созданный механизм не дает руководство.
Крон запускает скрипт выгрузки документов каждые 10 мин.
Но сейчас стали появляться такие ситуации когда документов бывает много и за 10 мин. выгрузка не происходит, если документов много то за 10 мин не управиться, если мало то отрабатывает и через 10 мин. запускается следующее задание cron и так постоянно.
Как написать скрипт что бы не запускалось следующее задание (новое) пока не было выполнено прошлое. типа то что выполняется сейчас.
:no:

Re: Debian 5.0

Добавлено: 2010-06-30 17:04:26
Burner

Код: Выделить всё

pid=/tmp/docs.pid
if [ -e $pid]; then
  exit 0
else
  touch $pid
  ...profit...
  rm -f $pid
fi

Re: Debian 5.0

Добавлено: 2010-06-30 21:38:35
Spook1680
Burner писал(а):

Код: Выделить всё

pid=/tmp/docs.pid
if [ -e $pid]; then
  exit 0
else
  touch $pid
  ...profit...
  rm -f $pid
fi
Странно выдает ошибку
dealer:/tmp# ./docs1.pid
./docs1.pid: line 4: syntax error near unexpected token `else'
./docs1.pid: line 4: `else'
dealer:/tmp#

Код: Выделить всё

pid=/tmp/docs.pid
if [ -e $pid]; them
  exit 0
else
  touch $pid
  ...profit...
  rm -f $pid
fi

ну и создал файл исполняемый docs.pid где указал pid процесса крона запущеного 2878.

Подскажите пожалуйста вот у крона есть задание, одно из 10.
Как узнать какой у него pid
dealer:/tmp# ps axw | grep cron
2878 ? Ss 0:01 /usr/sbin/cron
7096 pts/0 R+ 0:00 grep cron
верхнее это процесс работы крона?! В моем случае это не то, значит делаю )) ошибку.
Вот не пойму как узнать pid именно нужного процесса.

Re: Debian 5.0

Добавлено: 2010-07-01 5:22:28
Burner
зачем вам pid? Если назвать docs.lock, будет проще?

Re: Debian 5.0

Добавлено: 2010-07-01 12:06:49
Spook1680
Burner писал(а):зачем вам pid? Если назвать docs.lock, будет проще?
Добрый день.
А можно хотя бы в двух словах поподробней. Я понимаю когда в теме (как вы) то все просто.
Но не усекаю что делать?
создаю файл как вы написали к примеру docs.lock
далее делаю его исполняемым и вписываю скрипт.
ОК.
В листинге скрипта указано

Код: Выделить всё

 touch $pid
Я так понимаю что надо знать пид процесса.
Вот и вопрос в кроне более пяти заданий как узнать пид задания которо требуется именно мне.

Re: Debian 5.0

Добавлено: 2010-07-01 13:04:41
Burner
нет, не надо.

Re: Debian 5.0

Добавлено: 2010-07-01 14:54:05
Spook1680
Burner писал(а):нет, не надо.
А почему тогда ругается на синтаксис

Код: Выделить всё

dealer:/tmp# ./docs1.pid
./docs1.pid: line 4: syntax error near unexpected token `else'
./docs1.pid: line 4: `else'
dealer:/tmp#