Почасовые и ежедневные кроны не работают

Я заметил, что почасовые и ежедневные кроны не работают, я переместил их в crontab, и все прекрасно:

#!/bin/bash

now=$(date)
echo 'It is '$now

Командная строка:

# run-parts --test /etc/cron.hourly

возвращенный пробел

Править:

# ls -lsAF
total 8
4 -rw-r--r-- 1 root root 102 Apr  2  2012 .placeholder
4 -rwxr-xr-x 1 root root 254 Mar 18 06:52 testEcho*

Прежде чем имя было "testEcho **.sh **", я переименовал его к "testEcho"

# run-parts --test /etc/cron.hourly
/etc/cron.hourly/testEcho

Теперь значение было возвращено, я протестирую его и возвращусь к Вам

Заранее спасибо

1
задан 21 March 2016 в 06:10

1 ответ

Почасовое и ежедневное (и также еженедельно, ежемесячно)cron задания выполняются run-parts команда. Мой /etc/crontab имеет:

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Вещь отметить является этим run-parts очень чувствительно к именам файлов. От man run-parts:

Если ни - lsbsysinit опция, ни - regex опция дан затем, имена должны состоять полностью из верхнего ASCII - и строчные буквы, цифры ASCII, символы нижнего подчеркивания ASCII и ASCII минус дефисы.

Таким образом, поскольку файл называют testEcho**.sh**, это приводит проверку имени к сбою run-parts и следовательно run-parts игнорирует его.

Необходимо переименовать файл (файлы) для приспосабливания run-parts при именовании политики или можно выполнить файлы непосредственно путем включения соответствующей записи crontab.

1
ответ дан 7 December 2019 в 15:59

Другие вопросы по тегам:

Похожие вопросы: