[РЕШЕНО] Помогите понять anacron

Ответить
mexx400
Сообщения: 553
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Ноутбук MSI & ROSA R11 Plasma [amd64]
Откуда: Москва

[РЕШЕНО] Помогите понять anacron

Сообщение mexx400 » 04 мар 2019, 17:03

Здравствуйте. ROSA10/64/Plasma.
Подскажите, как работает anacron?
Допустим, есть некий исполняемый файл '/home/user/test':

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

#!/bin/bash
cp -f /home/user/name.txt /home/user/tmp
exit 0
Допустим, его надо запускать каждый день через 5 минут после старта ОС. Пишу:

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

sudo nano /etc/anacrontab
...
1	5	copy     /home/user/test
Но ничего не происходит.
Никогда не было надо и вдруг понадобилось. Чего я не понимаю?
Последний раз редактировалось mexx400 07 мар 2019, 20:46, всего редактировалось 2 раза.
ROSA Desktop R11 Plasma [amd64] *4

notauser
Сообщения: 1216
Зарегистрирован: 06 май 2012, 21:00

Помогите понять ancron

Сообщение notauser » 04 мар 2019, 22:08

crond ежечасно (возможно с RANDOM_DELAY) проверяет выполнил ли сегодня anacron задачи из /etc/cron.daily. Если нет - запускает, иначе - запустит завтра :). anacron при запуске проверяет свои задачи (если сейчас не время из интервала START_HOURS_RANGE /etc/anacrontab результата не ждите). При этом ко времени (5 минут у вас) будет добавлен "произвольный" интервал, максимум которого задан в RANDOM_DELAY /etc/anacrontab.

mexx400
Сообщения: 553
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Ноутбук MSI & ROSA R11 Plasma [amd64]
Откуда: Москва

Помогите понять ancron

Сообщение mexx400 » 05 мар 2019, 11:50

notauser, спасибо за ответ.
notauser писал(а):
04 мар 2019, 22:08
anacron при запуске проверяет свои задачи
"Свои" то есть в /etc/anacrontab. Это понятно. Но, в моем случае, счастья не наступает, хотя:

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

journalctl -b | grep anacron
мар 05 11:01:02 host anacron[16140]: Anacron started on 2019-03-05
notauser писал(а):
04 мар 2019, 22:08
crond проверяет ... выполнил ли сегодня anacron задачи из /etc/cron.daily
Да, но тогда ведь задачи anacron должны же лежать в /etc/cron.daily?
Но правка /etc/anacrontab их туда явно не вносит. Или вносит куда-то как симлинк?

В /etc/anacrontab есть:

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

1	5	cron.daily	nice -n 19 run-parts /etc/cron.daily
То есть, как я это понимаю, каждый день через 5 минут после старта (с учетом RANDOM_DELAY и в период START_HOURS_RANGE, это понятно) anacron должен выполнить все задачи в этом каталоге, если конечно 0anacron-timestamp меньше "сегодня", Так?
ROSA Desktop R11 Plasma [amd64] *4

notauser
Сообщения: 1216
Зарегистрирован: 06 май 2012, 21:00

Помогите понять ancron

Сообщение notauser » 06 мар 2019, 21:30

mexx400 писал(а):
05 мар 2019, 11:50
Да, но тогда ведь задачи anacron должны же лежать в /etc/cron.daily?
Точнее могут.
mexx400 писал(а):
05 мар 2019, 11:50
Но правка /etc/anacrontab их туда явно не вносит. Или вносит куда-то как симлинк?
И не должна. Расположение и условия запуска определяет /etc/anacrontab. Вы можете добавить свои как в /etc/cron.* (которые перечислены в /etc/anacrontab) так и непосредственно в /etc/anacrontab. В последнем случае могут быть дополнительные проблемы с синтаксисом.
mexx400 писал(а):
05 мар 2019, 11:50
если конечно 0anacron-timestamp меньше "сегодня"
Точнее "не равно".
Можете проверить работу очистив /var/spool/anacron/<имя_задачи> или полностью удалив файл (файлы) и запустив anacron вручную.

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

sudo anacron -T
проверит /etc/anacrontab на ошибки (по крайней мере 1-ый параметр). journalctl -b | grep anacron должен выдать в том числе и список задач. В случае удаления файлов в /var/spool/anacron/ должны появится пустые файлы с именами соответствующими задачам. После выполнения в них запишется значение 0anacron-timestamp.

mexx400
Сообщения: 553
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Ноутбук MSI & ROSA R11 Plasma [amd64]
Откуда: Москва

Помогите понять ancron

Сообщение mexx400 » 07 мар 2019, 20:41

notauser, вроде разобрался, работает, еще раз спасибо.
notauser писал(а):
06 мар 2019, 21:30
В последнем случае могут быть дополнительные проблемы с синтаксисом
Да, от root, без точек, абсолютные пути.
notauser писал(а):
06 мар 2019, 21:30
Точнее "не равно".
"Не равно" это и "больше" (ну мало ли). Разве в этом случае выполнит?
ROSA Desktop R11 Plasma [amd64] *4

Ответить