Я установил задание cron:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Основная проблема заключается в том, что во время расписания возникает ошибка: «почта отправлена в / var / spool / mail / lucky». [ 113]
Содержимое 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/