LINUX.ORG.RU

[cron] Есть ли у него дефолтное ограничение на время, за которое выполняется задание?

 


0

1

Не могу понять одну штуку.

По ночам бегает в кроне простой как грабли скрипт, обходящий полтора десятка каталогов и союздающий тарболлы из них. Некоторые каталоги здоровые довольно, но нескольку тысяч файлов и сотен метров.

Иногда скрипт подряд создает 2-3 тарболла, как будто его по кругу крон гоняет. Что это может быть?

★★★★★

Если в syslog нет сообщений от крон о незапланированном запуске скрипта, стоит говорить о самом скрипте или о других программах, которые из него вызываются.

uspen ★★★★★
()

Покажи кронтаб, из которого это запускается, скрипт и собственно у Вас викси-крон или что?

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

ansky ★★★★★
()
Ответ на: комментарий от ansky

> собственно у Вас викси-крон или что?

crond --help
dillon's cron daemon 4.4
Скрипт лежит в cron.daily, путем ручного запуска багу воспроизвести не удалось. Буду пробовать играться с ulimit, как тут выше советовали...

pekmop1024 ★★★★★
() автор топика

Иногда скрипт подряд создает 2-3 тарболла, как будто его по кругу крон гоняет. Что это может быть?

А что в логах самого cron-демона? Обычно они пишут что и когда запускают.

Deleted
()
Ответ на: комментарий от pekmop1024

путем ручного запуска багу воспроизвести не удалось.

А если скрипт запустить несколько раз, так чтобы несколько его экземпляров работали одновременно?

Deleted
()
Ответ на: комментарий от Deleted

В логах крон-демона просто попадаются повторения запуска задания.
Сейчас обратил внимание еще, что пытается что-то отправить руту, но т.к. сендмайла нет, то спускает отчет в /dev/null. Поставлю-ка логирование в режим debug...

pekmop1024 ★★★★★
() автор топика
Ответ на: комментарий от Deleted

> А если скрипт запустить несколько раз, так чтобы несколько его экземпляров работали одновременно?

Ну такое ни скриптом, ни его назначением не подразумевается. Впрочем, и это пробовал - без проблем.

pekmop1024 ★★★★★
() автор топика
Ответ на: комментарий от pekmop1024

А если скрипт запустить несколько раз, так чтобы несколько его экземпляров работали одновременно?

Ну такое ни скриптом, ни его назначением не подразумевается. Впрочем, и это пробовал - без проблем.

Просто если крон раз в час запускает скрипт, который работает два часа, то несколько экземпляров скрипта будут работать одновременно.

Deleted
()
Ответ на: комментарий от Deleted

Просто если крон раз в час запускает скрипт, который работает два часа

У меня на этот случай так:

/usr/local/bin/cron/1h.sh:

#!/bin/bash

if [[ "`pgrep -f /usr/local/bin/cron/1h|wc -l`." != "2." ]]; then exit; fi

# А дальше делаем что-то потенциально долгое...

KRoN73 ★★★★★
()
Ответ на: комментарий от Deleted

> Просто если крон раз в час запускает скрипт, который работает два часа, то несколько экземпляров скрипта будут работать одновременно.

Не, он запускает скрипт раз в сутки, который работает меньше 10 минут. :)
Ну, логирование настроил, почту включил - посмотрим, что ж он мне такого страшного напишет, но вообще загадочно, конечно.

pekmop1024 ★★★★★
() автор топика
Ответ на: комментарий от pekmop1024

Сейчас обратил внимание еще, что пытается что-то отправить руту, но т.к. сендмайла нет, то спускает отчет в /dev/null. Поставлю-ка логирование в режим debug...

А какой код завершения оставляет твой скрипт? Обычно cron шлёт письмо, если скрипты возвращают != 0. Может dcron в этих случаях ещё и пытается перезапустить задание?

Deleted
()
Ответ на: комментарий от Deleted

> А какой код завершения оставляет твой скрипт?

Где глянуть? В сам скрипт ничего такого не встроено, говорю ж, простой как грабли)

pekmop1024 ★★★★★
() автор топика
Ответ на: комментарий от pekmop1024

Где глянуть?

/path/to/script
echo $?

В сам скрипт ничего такого не встроено, говорю ж, простой как грабли)

Показывай скрипт. Вообще, если в шелл-скрипте не устанавливать код явно (через exit или return), то возвращается код последней запущенной команды.

Deleted
()

>Иногда скрипт подряд создает 2-3 тарболла
В дефолтном арчекроне такое было (а учитывая идиотизм разработчиков, есть до сих пор). Баг конкретной реализации cron'а.

x3al ★★★★★
()
Ответ на: комментарий от Deleted

Посмотрим чего он мне за неделю нагенерит. Вручную так и не смог воспроизвести, хоть убейся :(

pekmop1024 ★★★★★
() автор топика
Ответ на: комментарий от x3al

> В дефолтном арчекроне такое было (а учитывая идиотизм разработчиков, есть до сих пор). Баг конкретной реализации cron'а.

Жесть как она есть. :)
Чего, на какой-нибудь анакрон переползать?

pekmop1024 ★★★★★
() автор топика
Ответ на: комментарий от x3al

В дефолтном арчекроне такое было (а учитывая идиотизм разработчиков, есть до сих пор). Баг конкретной реализации cron'а.

Ссылка на багрепорт?

Deleted
()
Ответ на: комментарий от pekmop1024

>Чего, на какой-нибудь анакрон переползать?
fcron или любой другой крон (в community что-то было) сойдёт.

x3al ★★★★★
()
Ответ на: комментарий от Deleted

Ага, на днях. Но смысл в багнутом кроне (в обсуждении всплыло ещё несколько багов), если есть более вменяемые альтернативы, пусть и меньше KISS (подумать только, на 60 килобайт жирнее! этого никогда не будет в core!)

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.