Назад | Перейти на главную страницу

crontab не работает в VirtualBox, если я не вошел в систему

Я запускаю Ubuntu Server 9.04 в VirtualBox на своем рабочем ПК в качестве среды разработки. У меня есть несколько скриптов, которые я поместил в crontab моего пользователя, которые запускаются в течение дня, пока я подключаюсь к виртуальной машине по SSH.

Вчера вечером я закрыл PuTTy и все остальные запущенные приложения (кроме VirtualBox и виртуальной машины) и пошел домой. Я вернулся сегодня утром и обнаружил, что мои задания cron вообще не выполняются, но когда я подключился к виртуальной машине по SSH, было выполнено следующее запланированное задание. Я установил расписание на 5 минут для тестирования, снова отключился, и задания перестали выполняться по расписанию.

Кажется, они запускаются только в том случае, если я вошел в систему. Очевидно, я хочу, чтобы они запускались по расписанию, даже если я не вошел в виртуальную машину, иначе в этом нет смысла.

Что-то мне не удалось правильно настроить?

Новая информация:

Теперь в /var/log/cron.log есть 3 записи, в которых говорится следующее: «Монтирование кода возврата частного каталога [256]» ... записи соответствуют тому моменту, когда должно выполняться задание cron.

Я думал, они должны работать как мой идентификатор пользователя? Почему мой собственный идентификатор пользователя не может запустить сценарий в моем домашнем каталоге?

Похоже, что вы пытаетесь запустить задание cron от имени своего пользователя, и у вас есть какая-то форма зашифрованного домашнего каталога.

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

Вам следует удалить шифрование, запустить задание cron от имени другого пользователя или попытаться запустить задание от имени своего пользователя, но указав другую среду (в первую очередь HOME).