LINUX.ORG.RU
решено ФорумAdmin

Cron не выполняеться из-за > /dev/null

 ,


0

1

Коллеги , помогите по этому несложному кейсу.
Если не убирать вывод связанный с > /dev/null то вышестоящие команды не выполняются . Подскажите как заэкранизировать.

*/1  *      *    *     *   root  (/bin/check_radius.sh > /dev/null)
*/1  *      *    *     *   root  ( pgrep pppd || pppd call xxxx > /dev/null )s
★★★★★

Зачем скобки? Тебе нечего объединять.

)s — опечатка здесь только?

Наличие root (юзера) означает что это или /etc/cron.d/ или /etc/crontab. Зачем лезть в глобальные файлы, если можно crontab -e

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

Сделал .Вроде помогает , щас тестим.

#checking for mission critical services death
*/1  *      *    *     *   root  /bin/bash -l -c '/bin/check_radius.sh > /dev/null'
*/1  *      *    *     *   root  /bin/bash -l -c ' pgrep pppd || pppd call nurnet > /dev/null '

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

Да ладно: «не умеет перенаправление» ???

 man 5 crontab

EXAMPLE CRON FILE
       The following lists an example of a user crontab file.


       # use /bin/bash to run commands, instead of the default /bin/sh
       SHELL=/bin/bash
       # mail any output to `paul', no matter whose crontab this is
       MAILTO=paul
       #
       # run five minutes after midnight, every day
       5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
       # run at 2:15pm on the first of every month -- output mailed to paul
       15 14 1 * *     $HOME/bin/monthly
       # run at 10 pm on weekdays, annoy Joe
       0 22 * * 1-5    mail -s "It's 10pm" joe%Joe,%%Where are your kids?%
       23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
       5 4 * * sun     echo "run at 5 after 4 every sunday"
       # Run on every second Saturday of the month
       0 4 8-14 * *    test $(date +\%u) -eq 6 && echo "2nd Saturday"
sdio ★★★★★
()

1. про crontab -e уже сказали.

2. оберните всё в один скрипт.

3. почему именно crond? Проще цикл

while true; do
  <…>
  sleep 1m
done
emulek
()
Ответ на: комментарий от sin_a

Не нужно /bin/bash, сделай как в начале только без скобок. И, да, */1 это то же самое что и просто *

Без скобок не помогало .

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

Зачем лезть в глобальные файлы, если можно crontab -e

Затем, что потом придёт другой сисадмин, и хрен будет знать, где что искать. Всё верно, важные вещи должны быть в глобальном конфиге, а «crontab -e» - это хоум свой личный бакапить и т.п.

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

В глобальные кроновские директории пусть пакеты устанавливают свои задания. А рут свои самописные скрипты пусть запускает через личный crontab -e. Если новый админ не знает о crontab -l — он профнепригоден.

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

Если новый админ не знает о crontab -l — он профнепригоден.

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

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

Вот и поговорили. :-)

Но задания в одном месте - это, в любом случае, правильнее. И бакап /etc. Бакап /var/spool выглядит, по меньшей мере, странно.

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

Вот и поговорили. :-)

А мы говорили? Не похоже, что так ведут беседу, больше на нравоучения смахивает.

Как же люди в юниксах то раньше жили без /etc/cron.*/?

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от sdio

больше на нравоучения смахивает.

Конечно. И началось с «Зачем лезть в глобальные файлы, если можно crontab -e». Как мне показалось. Захотелось вмешаться.

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

возможно. лучше держать актуальную инфу

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

3. почему именно crond? Проще цикл

Зачем запускать висеть цикл обертывать его в лог и думать как прилепить репорты по почте, если cron уже висит?

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

Опять не пашет , хотя я привел все к форме (

#checking for mission critical services death
*/1  *      *    *     *   root  /bin/bash -l -c '/bin/check_radius.sh > /dev/null'
*/1  *      *    *     *   root  /bin/bash -l -c ' pgrep pppd || pppd call nurnet > /dev/null '
pinachet ★★★★★
() автор топика
Ответ на: комментарий от pinachet

Опять не пашет , хотя я привел все к форме (

А что пишет-то в лог ? И что за cron ? Правильный cron, кстати, ещё права на файлы проверяет и не будет работать с файлами, к примеру, с правами обычного пользователя в /etc/cron*. /bin/bash тут точно не нужен, должно работать и так:

*  *  *  *  *   root  /bin/check_radius.sh > /dev/null
*  *  *  *  *   root  pgrep pppd || pppd call nurnet > /dev/null

/bin у check_radius.sh, кстати, тоже не нужно по идее: /bin у root в PATH должен быть.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 2)
Ответ на: комментарий от AS

Vixie cron ( ну то что по умолчанию с дебианом идет) . Без -l -e не пашет , также . В логах ничего нету .

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

ls -l /etc/cron.d/*

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

chown root:root /etc/cron.d/*
chmod 600 /etc/cron.d/*

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 2)
Ответ на: комментарий от AS
ls -l /etc/cron.d/*
-rw-r--r-- 1 root root    0 Сен 28 18:23 /etc/cron.d/$
-rw-r--r-- 1 root root  105 Июн 25  2012 /etc/cron.d/atop
-rw-r--r-- 1 root root  589 Сен  3  2010 /etc/cron.d/mdadm
-rw-r--r-- 1 root root  547 Мар 29  2010 /etc/cron.d/mdadm.dpkg-old
-rw-r--r-- 1 root root  510 Авг 21 12:49 /etc/cron.d/php5
-rwxr-xr-x 1 root root 2,1K Ноя  6 18:39 /etc/cron.d/stalker_70439ea2348d37ccfc8c52d63fff51eb
-rw-r--r-- 1 root root  168 Сен 25 21:25 /etc/cron.d/storage-system-monitoring-fastvps

Права тоже поменял . Посмотрим седня как он будет пахать

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

если уж пощёл такой разговор, то мне кажется вместо кронкостылей — тут была бы более пригодна директива Restart=on-failure в unit-файле

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

если уж пощёл такой разговор, то мне кажется вместо кронкостылей — тут была бы более пригодна директива Restart=on-failure в unit-файле

Там же дебиан , который стейбл, в нем пока нету systemd

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

In general, the system administrator should not use /etc/cron.d/, but use ...

Я тебе тоже могу много инструкций написать c «In general». Сам, и на основе собственного опыта, который, поверь, уже не маленький.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 2)
Ответ на: комментарий от pinachet

̈́> Эффекта опять нету

Ты эффект, для начала, смотри в /var/log/cron/info, или куда он там пишет в Дебиане. При редактировании файла, если это vixie cron, там должна появиться строчка вида "(*system*) RELOAD (/etc/cron.d/<file name>)" в очередные 00 секунд. Если не появляется, то файл твой игнорируется, и надо думать, почему.

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

Можешь, написать это в man cron, давай. А пока ты просто пользователь Интернета, вес твоих слов стремится к нулю.

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

Ну опытный вы наш, где ваши доки?

Restrictions: The LSB cron script names assigned by LANANA will only consist of the ASCII characters [-a-z0-9].

stalker_70439ea2348d37ccfc8c52d63fff51eb

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

Затем, что потом придёт другой сисадмин, и хрен будет знать, где что искать. Всё верно, важные вещи должны быть в глобальном конфиге, а «crontab -e» - это хоум свой личный бакапить и т.п.

дык «глобальный» crontab вполне себе доступен с учётки рута по командам crontab -l/crontab -e. А вот сами файлы в разных дистрах лежат по-разному.

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

Ну опытный вы наш, где ваши доки ?

Какая разница ?

Restrictions: The LSB cron script names assigned by LANANA will only consist of the ASCII characters [-a-z0-9].

Ты думаешь, я его список файлов, вообще, смотрел ? :-)

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

А вот сами файлы в разных дистрах лежат по-разному.

О чём и речь - банальное усложнение бакапа.

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

дык «глобальный» crontab вполне себе доступен с учётки рута по командам crontab -l/crontab -e.

Хочешь сказать что у тебя по crontab -e открывается файл /etc/crontab ? Не верю!

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

банальное усложнение бакапа.

Детский сад. Что /etc прописать, что /var/spool/cron/crontabs — сложность одного порядка и у проф.админов эти шаблоны уже готовы.

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

...вообще, смотрел ?

Отмазки? Фи!

Ну да как же я забыл: Кто умеет — работает, а кто не умеет — учит.

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

А вот сами файлы в разных дистрах лежат по-разному.

О чём и речь - банальное усложнение бакапа.

я про файлы crond'а. Еси уж так хочется их бекапить, бекапте весь корневой раздел. А вот в ручную их править — кривизна, т.к. везде они по разному сделаны. Для того утилита crontab и нужна.

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

Я ТСу помог, если бы он правил crontab -e всего этого срача просто не было, но ты то просто влез в чужой разговор и стал поучать.

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

если бы он правил crontab -e всего этого срача просто не было

Если бы ты просто помог, его бы не было тоже. Хочет делать в /etc/cron.d, значит, вероятно, имеет на то причины. Следовало разобрать, что именно за cron, и какие у него особенноти.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

У тебя с логикой все в порядке? Я начал с наводящих вопросов, но тут в тему ворвался учитель истины. Просто ПНХ и не трать мое время на пустую переписку с ламером (тобой если ты не понял)

В игнор!

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от sdio

Я начал с наводящих вопросов,

Если вот это вопрос — «Зачем лезть в глобальные файлы, если можно crontab -e» — то я извиняюсь.

Просто ПНХ и не трать мое время на пустую переписку с ламером (тобой если ты не понял)

Ну-ну.

В игнор!

Да запросто.

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

Коллеги , не надо устраивать перепалку , все таки взрослые люди .

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

Проблема решена путем добавления скрипты в cron.d, также на всякий случай папку привел в следуйщий вид

ls -la
итого 44K
drwxr-xr-x   2 root root 4,0K Дек  2 14:22 .
drwxr-xr-x 153 root root  12K Дек  2 14:23 ..
-rw-------   1 root root  105 Июн 25  2012 atop
-rw-------   1 root root  264 Дек  2 14:22 billing
-rw-------   1 root root  589 Сен  3  2010 mdadm
-rw-------   1 root root  510 Авг 21 12:49 php5
-rw-r--r--   1 root root  102 Сен 28  2008 .placeholder
-rw-------   1 root root 2,1K Ноя  6 18:39 stalker
-rw-------   1 root root  168 Сен 25 21:25 storage-system-monitoring-fastvps

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

путем приведения имен файлов к стандарту.

Возможно, но я не думаю, на других серваках все пашет и с такого же формата именем . С Инфомир да и с этим магами много гемора . Да и спасибо всем за помощь

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