2015-05-30 5 views
1

Я проходил предыдущие вопросы, и, я думаю, мои переменные среды ошибочны. Но как я могу это исправить ..Консоль запускает файл, но Cron не

Я хочу, чтобы выполнить .sh файл каждые 2 часа, который содержит этот материал:

#!/bin/bash 
find /directory -type f -print0 | xargs -0 chmod 666 
find /directory -type d -print0 | xargs -0 chmod 755 

Но когда хрон предполагается запустить его как корень он просто не выполнить его, но вручную?

Заранее благодарен!

+0

Добавить запись в cron. – Cyrus

+0

В/etc/crontab: * */2 * * * root /root/file.sh – Sebastian

+0

Вы пытались перезапустить свой cron? – Cyrus

ответ

1

Crontab не перезапускается. Особенно, если вы отредактируете свой crontob с помощью команды crontab -e. Вот строки из человека:

Кроме того, хроны проверяют каждую минуту увидеть, если modtime своего SPOOL справочника (или modtime на/и т.д./файл кронтаба) изменился, и если у него есть, хроны будут просмотрите modtime на всех файлах crontabs и перезагрузите те, которые изменились. Таким образом, cron не нужно перезапускать при изменении файла crontab. Обратите внимание, что команда crontab (1) обновляет modtime каталога спула всякий раз, когда он изменяет crontab.

Странно, что перезагрузка службы cron решила вашу проблему. Возможно, вы решили некоторые другие возможные проблемы в качестве недостающих разрешений.

Вы можете добавить пользователя (например, root) за последовательность временных форматов, которая должна выполнить команду/скрипт. Затем этот пользователь должен предоставить разрешения для выполнения данной команды.

Важно: последняя строка хрон-файл должен быть пустая строка или строка комментария а!

Смежные вопросы