Для пользователей Subversion или тех, кто заинтересован в облегченных проверках, это также может помочь:
https://answers.launchpad.net/canonical-identity-provider/+question/209069
Вы также можете запустить crontab с аргументом -u для редактирования crontab для определенного пользователя:
sudo crontab -u www-data -e
Для запуска crontab в качестве пользовательских www-данных вы можете использовать следующую команду:
crontab -u www-data -e
Затем вы пишете строку, например, для запуска php-файла каждые 15 минут:
*/15 * * * * php -f /path_to_cron/cron.php
При сохранении его вам будет задан редактор:
File Name to Write: /tmp/crontab.HMpG7V
Сохраните его, не беспокойтесь. crontab -e открывает файл в / tmp вместо фактического crontab, чтобы он мог проверить ваш новый crontab за ошибки и не дать вам переписать ваш фактический crontab с этими ошибками. Если ошибок нет, ваш фактический crontab будет обновлен. Если crontab -e просто написал прямо к вашему фактическому crontab, тогда вы рискуете выбросить весь свой crontab.
Чтобы проверить, что ваш cronjob работает, вы можете проверить журналы cron. обычно в /var/log/cron.log или выполнение следующей команды:
crontab -u www-data -l
Я хотел бы добавить еще один подход. Как и другие люди, Ubuntu (16.04 здесь) и www-data crontab кажется ненадежным (может быть, это вопрос безопасности?).
В любом случае, в нашей компании нам нравится иметь все cronjob на сервере легко доступный, поэтому вы ничего не пропустите. В то же время мы не хотим запускать все (что-то действительно!) Как root.
Поэтому мы запускаем
sudo crontab -e
Как вы обычно это делаете, а затем мы указываем command как
* * * * * /bin/su - www-data -s /bin/bash -c '/path/to/command'
Это будет выполняться / path / to / command как www-data, сохраняя cronjob в корневом файле cronjobs (и это всегда будет работать правильно). Это имеет приятное преимущество в том, что вы можете писать лог-файлы как root (для максимальной безопасности) с помощью труб.
Обратите внимание, что мы передаем нашу предпочтительную оболочку, это также может быть / bin / sh для более простой оболочки (нам просто нравятся полные возможности bash). Www-data не имеет оболочки, поэтому вы получите ошибки без нее. Обычно cron запускает задания только с / bin / sh.