2013-02-11 3 views
0

Я пытаюсь создать простой crontab, который создает файл с именем log.txt каждую минуту, заполняя его простым выходом команды. Сейчас это то, что я положил в мой кронтаб:Crontab для создания нового файла

* * * * * (/usr/bin/ls <pathToRandomDirectory) > log.txt 

По моему разумению, в 5 Звездочки соответствуют «каждую минуту». Но когда я запускаю это, файл log.txt не создается. Здесь что-то не хватает?

ТАКЖЕ, если я не хочу, чтобы по электронной почте послал мне всякий раз, когда задание создается я обнаружил, что мне нужно поставить строку:

>/dev/null 2>&1 

Где-то в моем файле кронтаб. Где именно это происходит? В конце команды или по отдельной строке?

ответ

1

Вы должны указать абсолютный путь для log.txt. В противном случае он будет создан в /.

Кроме того, >/dev/null 2>&1 должно быть в конце предложения. Если вы хотите отклонить 2 (что означает ошибки), просто напишите 2>/dev/null.

Тогда окончательный cronjob будет выглядеть так:

* * * * * /usr/bin/ls pathToRandomDirectory > /pathToRandomDirectory/log.txt 2>/dev/null 
0

Что именно должно быть в этом файле? Это создает новый файл с текстом «что-то» в нем каждую минуту:

* * * * * echo "something" > /path/to/your/file.txt 

Я имел некоторые проблемы с кронтаб особенно, когда я создал новый кронтаб конфигурации - моя проблема в том, что я должен был вставить пустую строку в конец crontab - некоторые системы нуждаются в правильной работе. Так что если вы делаете

$ crontab -l 

вывод должен быть списком ваших заданий cron на каждой строке, а затем пустой строки в конце.

Попробуйте, если это сработает для вас. Извините, но я не уверен в этом письме, но я не думаю, что вам нужно положить такие строки в crontab, поиграть с настройкой - он не должен отправлять вам по электронной почте по умолчанию.

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