Я поставив роботу з кроном:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
Основна проблема полягає в тому, що під час розкладу виникає помилка: "пошту надіслали / var / spool / mail / lucky".
Вміст myfile.sh є:
mkdir jh
cd jh
Я поставив роботу з кроном:
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
команди. І навіть незважаючи на це, ваша робота з крон повинна виглядати так:
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 / at / usr / bin / sh чи ні (використовуйте, which sh
щоб побачити шлях, де sh існує; мій був / bin / sh)
Якщо ви поспішаєте почати писати кронтаб, це посилання має досить непогані приклади
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/