У нас должен быть/usr/local/bin в пути крона для всех пользователей. Существует ли способ установить его в масштабе всей системы, не будучи должен отредактировать crontab каждого отдельного пользователя?
Мы попытались добавить ПУТЬ к/etc/crontab:
# grep PATH /etc/crontab
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Но когда у пользователей есть это в их crontab:
$ crontab -l | grep PATH
* * * * * echo $PATH > /tmp/current_cron_path
... это показывает, что их путь все еще установлен для установки по умолчанию:
$ cat /tmp/current_cron_path
/usr/bin:/bin
Можно настроить ПУТЬ в crontab конфигурационном файле как показано в первом коде кроме там. Сначала укажите огибающие переменные, затем укажите задания.
UPD: из-за того, что связь разорвана, вот выборка:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
Установка переменной ПУТИ должна работать в Ubuntu, как сказать она не работает?
Отошлите № 14: Linux Crontab: 15 потрясающих примеров задания крона
Если Вы можете быть корнем, можете Вы пытаться редактировать /etc/init.d/cron
и изменение ПУТИ там? Я не протестировал это, но был бы интересен проверить.