Мне установили Ubuntu 14.04.5, и я пытаюсь выполнить крон, но это не работает.
$ whoami
root
$ crontab -e
#append at the end of the file
* * * * * env > /tmp/env_root.output
#save and quit :wq
$ less /var/log/cron.log
......
Sep 22 20:15:01 myserver CRON[2993]: (root) CMD (env > /tmp/env_root.output)
$ ls -la /tmp/env_root.output
ls: cannot access /tmp/env_root.output: No such file or directory
Почему это? Я - корень, и я должен смочь отредактировать файлы, журнал Крона показывает его как изменяемый, но никакой файл не там. Если я выполняю команду в текущей оболочке Bash GNU, или даже в/bin/sh она работает, но не в Кроне.
Что я делаю неправильно? Ubuntu имеет что-то как SELinux, который я, возможно, включил по ошибке? Я настраиваю свой сервер с Ansible, и я не единственный человек, работающий над ролями Ansible.
Спасибо
Править: Это - то, как мой/etc/crontab смотрит, и он выполняет/usr/bin/myscript.sh https://paste.fedoraproject.org/433591/74650461/
Лучший способ диагностировать задания крона состоит в том, чтобы наблюдать производство крона в псевдореальное время.
Этот Q& A описывает процесс того, чтобы вспыхивать syslog
, чтобы заставить систему создать cron.log
и контролировать его:
16.04: Как я заставляю крон создать cron.log и контролирую его в режиме реального времени?
очень полезно изменить уровень журнала на 15, таким образом, это не только показывает, запускают времена, но также и времена остановки и ошибки: