как временно отключить cronjob пользователя?

Как временно отключить одно или несколько рабочих заданий для пользователей? В частности, я не хочу приостанавливать права пользователя cron – просто не запускайте их работу.

Я нахожусь в системах SLES 11 SP2 и SP3

touch /var/spool/cron/crontabs/$username; chmod 0 /var/spool/cron/crontabs/$username touch /var/spool/cron/crontabs/$username; chmod 0 /var/spool/cron/crontabs/$username должно делать трюк. Восстановите с помощью chmod 600 и touch (нужно изменить mtime файла, чтобы сделать cron (попытка) перезагрузить его).

По крайней мере, Debian и, вероятно, с Vixie cron в целом, chmod 400 /var/spool/cron/crontabs/$username также выполняет трюк, потому что эта реализация настаивает на том, что разрешения равны 600. Однако это продолжается только до тех пор, пока пользователь не запустит crontab команда.

Если вам нужен надежный способ, я не думаю, что есть что-то лучше, чем временное перемещение crontab из пути или изменение разрешений и временное добавление их в /etc/cron.deny .

Как насчет чего-то подобного, чтобы отключить пользователя crontab:

 crontab -l -u [username] >/tmp/[username].cron.tmp crontab -r -u [username] 

и для повторного включения:

 crontab -u [username] /tmp/[username].cron.tmp 

Это имеет дополнительное преимущество, что вы можете запускать его как этого пользователя без необходимости root (просто удалите параметр -u).