Я установил работу cron:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Основная проблема заключается в том, что в указанное время возникает ошибка: «почту отправили в / var / spool / mail / lucky».
Содержимое файла myfile.sh:
mkdir jh
cd jh
Я установил работу cron:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Основная проблема заключается в том, что в указанное время возникает ошибка: «почту отправили в / var / spool / mail / lucky».
Содержимое файла myfile.sh:
mkdir jh
cd jh
Ответы:
Это не нормально для скрипта, который установлен как задание cron:
mkdir jh
cd jh
Вы должны указать полный путь к jh
каталогу, который необходимо создать. Также по этому пути у вас должно быть разрешение на создание новых файлов / каталогов.
Например, ваш скрипт должен выглядеть так:
#!/bin/sh
mkdir /home/lucky/jh
cd /home/lucky/jh
Также /usr/bin/sh
не правильный путь для sh
. Правильный путь есть /bin/sh
. Вы можете проверить это с помощью whereis sh
команды. И даже в этом случае ваша работа cron должна выглядеть так:
20 * * * * /home/lucky/myfile.sh
Не забудьте сделать скрипт исполняемым:
chmod +x /home/lucky/myfile.sh
Путь, в котором создается папка, - /
. Это потому, что crontab
требуется полный путь к папке и файлам во всех файлах, которые он выполняет.
Поэтому путь в myfile.sh должен быть
mkdir <absolutePath>/jh
cd <absolutePath>/jh
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Эта строка правильная, хотя вы должны проверить путь, чтобы увидеть, существует ли sh в / usr / bin / sh или нет (используйте, which sh
чтобы увидеть путь, где существует sh; мой был / bin / sh)
Если вы спешите начать писать crontab, эта ссылка имеет довольно хорошие примеры
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/