Хотя они похожи, пользовательский crontab (отредактированный с помощью crontab -e) отличается от системного crontab (и отредактировал его путем редактирования / etc / crontab) и сохраняет отдельный путь.
Системный crontab имеет 7 полей, вставляя имя пользователя перед командой. Пользовательский crontab, с другой стороны, имеет только 6 полей, которые вводятся непосредственно в команду сразу после полей времени.
Аналогично, PATH в системном crontab обычно включает каталоги / sbin, тогда как PATH в пользовательском crontab этого не делает. Если вы хотите установить PATH для пользовательского crontab, вам нужно определить переменную PATH в пользовательском crontab.
Простой обходной путь для добавления вашего обычного PATH в команды оболочки в cron состоит в том, чтобы сделать cronjob источником вашего профиля, запустив bash в оболочке входа в систему. например вместо
* * * * * some command
Вы можете вместо этого запустить
* * * * * bash -lc some command
Таким образом, если ваш профиль устанавливает переменную PATH или другие переменные окружения в нечто особенное, он также включается в вашу команду.