Я использую cron для выполнения некоторых php-скриптов (фоновые задачи owncloud и т.д.). Мой сервер запускает nginx и PHP через php-fpm, который по умолчанию запускает процессы PHP под пользователем apache
, единственным пользователем с правами записи в /var/www
кроме root. Таким образом, было бы хорошо добавить следующие фоновые задания в crontab apache:
crontab -u apache -e
Содержимое:
MAILTO=cron@localhost
* * * * * echo "..." | mail -s "crontest" cron@localhost
Это должно отправлять мне письма каждую минуту, но это не так. Когда я запускаю команду как пользователь apache (sudo -s -u apache
), она работает нормально, но cronjob никогда не выполняется.
Я нашел упоминание о "заблокированных учетных записях" здесь, но я не уверен, что предлагаемое решение является хорошей идеей.