Crontab /etc/profile.d
У меня есть скрипт crontab, который отлично работает из интерактивной оболочки. Однако при запуске из crontab происходит сбой, поскольку он не запускает сценарии в /etc/profile.d/ (например, /etc/profile.d/java.sh).
Какой лучший способ исправить это?
2 ответа
Решение
Начните скрипт оболочки с:
#!/bin/bash -l
Это заставляет bash запускаться как оболочка входа в систему, что означает, что он будет читать /etc/profile и ~/.bash_profile.
Установите SHELL на свой crontab:
SHELL=/bin/bash
* * * * * # your_job