Смоленск 1.5 Выполнение скрипта по расписанию (cron) под ненулевой меткой

Cat

New member
Сообщения
7
#1
Используется Astra Linux 1.5 SE. Требуется периодически выполнять скрипт (скажем, раз в 15 минут).
Скрипт работает с файлами в домашнем каталоге пользователя.
Без МРД (под нулевой меткой) добавляю соответствующую строку в crontab для пользователя.

Под меткой 1 попытка добавить запись командой crontab даёт ошибку mkstemp в /var/spool/cron/

Запуск графической утилиты "Планировщик задач" даёт диалоговое окно с сообщением, что оно работает только под нулевой меткой.

cron вообще можно использовать под ненулевой меткой? Если нет - как выполнять задачу по расписанию?
 

oko

New member
Сообщения
1 120
#2
А зачем вам для этого системный CRON? В Руководстве ALSE и на форуме уже обсуждались варианты добавления скриптов в автозапуск при входе пользователя в систему. Нехай он с правами пользователя в его же каталоге файлами и оперирует. Тогда никаких проблем с метками не будет...
Если же оный скрипт должен что-то периодически бэкапить из пользовательских каталогов с меткой 1 и выше в системные области, недоступные юзеру на запись, то, primo, это крайне хреновая идея сама по себе (раз уж у вас мандатная политика используется), и, secundo, нужно играться с флагами ccrn/ehole согласно Руководству. В частности, на каталоге /var/spool/cron...

UPD: Сорри, не увидел, что crontab именно юзеровский. Тогда опять-таки, можно юзать иные методы автозапуска скрипта при входе пользователя в систему (а в самом скрипте предусмотреть бесконечный цикл со sleep на нужное время). Либо юзать пользовательский CRON, но с флагами мандатной политики, разрешающими сквозную запись/чтение в /var/spool/cron. Но, поскольку это хранилище единое для всех, постольку дальнейшая эксплуатация может привести к сомнительным последствиям...
 

Cat

New member
Сообщения
7
#3
...нужно играться с флагами ccrn/ehole согласно Руководству. В частности, на каталоге /var/spool/cron...
Тогда опять-таки, можно юзать иные методы автозапуска скрипта при входе пользователя в систему (а в самом скрипте предусмотреть бесконечный цикл со sleep на нужное время). Либо юзать пользовательский CRON, но с флагами мандатной политики, разрешающими сквозную запись/чтение в /var/spool/cron. Но, поскольку это хранилище единое для всех, постольку дальнейшая эксплуатация может привести к сомнительным последствиям...
Хотелось cron потому что нужно именно то, что он делает - запуск в конкретные минуты каждого часа (так что совсем примитивно с одним sleep не получится - надо делать урезанную пародию на cron). Ну и чтобы решение было одинаковым под меткой и без неё.
Собственно попробовал изменить свойства /var/spool/cron и /var/spool/cron/crontabs на первую метку с парой флагов (поместив эти пути в скрипт pdp-init-fs)
После этого crontab выполнился и задание записал. Но оно не срабатывает. Предполагаю проблему в том, что сам cron всё равно запускается с нулевой меткой и не может с заданием работать.

Так что вопрос остаётся открытым - есть ли способ заставить cron так работать. Хотя бы как промежуточное решение.