Как использовать cron на простом скрипте - PullRequest
0 голосов
/ 03 июля 2018

Я хочу использовать cron для периодического выполнения скрипта. Сначала я хочу попробовать простой скрипт, но он не работает.

Это мой скрипт (scritp.sh) с разрешением 700:

#!/bin/sh
clear
echo "Hello!"
mkdir Hello

И это файл crontab , когда я редактирую его командой crontab -e :

SHELL=/bin/sh
* * * * * /home/padro/Documents/script.sh

EDIT: У меня есть этот скрипт в папке / home / padro / Documents . После этого я выполняю команду crontab -e для изменения файла cron. В этот файл я помещаю желаемую оболочку SHELL = / bin / sh , а также выражение расписания cron * * * * * /home/padro/Documents/script.sh. Этот график теоретически запускает сценарий каждую минуту. Наконец я сохраняю файл, и через минуту я не вижу эхо скрипта на терминале.

EDIT2: Я добавил mkdir hello , потому что я не знаю, отображается ли эхо-код сценария на терминале. Но каталог hello никогда не создается.

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Любой вывод, сгенерированный программой, вызываемой из cron, будет по умолчанию отправлен по электронной почте пользователю, владеющему crontab (при условии, что локальная доставка почтовых сообщений возможна). Поэтому я бы посоветовал вам посмотреть в папке «Входящие» на локальном компьютере.

Чтобы сохранить выходные данные в файл, используйте перенаправление в файле crontab или настройте сценарий для записи выходных данных в файл.

Задания, запускаемые cron, не запускаются с терминалом, поэтому не следует ожидать, что ваш терминал очищается каждую минуту, запуская этот скрипт через cron.

Папка Hello должна быть создана в рабочем каталоге, используемом сценарием (возможно, в вашем домашнем каталоге). Чтобы быть абсолютно уверенным, что вы знаете, где находится рабочий каталог скрипта, используйте cd в скрипте, чтобы перейти в правильное местоположение.

0 голосов
/ 03 июля 2018

У меня недостаточно репутации, чтобы добавить комментарий.

Мой скромный комментарий был бы. Файл cron, который вы упомянули через root?

cos chmod 700 файл будет выполняться только владельцем . Если вы используете Redhat Linux, учетная запись пользователя, которую вы используете при первом входе в систему, является правами пользователя, а не root.

Ссылка ссылка на шпаргалку.

su - root система запросит пароль root

crontab -e

* * * * * /home/padro/Documents/script.sh

Вы даже можете запустить тестовый скрипт, с которым я столкнулся в той же ситуации, что и вы, когда впервые изучил скриптинг в вашем crontab-

* * * * * дата> export / home / padro / Documents / testing.txt

Если можете, перезапустите сервер.

Проверьте правильность вашего каталога с помощью команды pwd в linux / unix.

Я надеюсь, что мой комментарий, основанный на моем недавнем обучении, помог вам.

Редактировать 1: Удалить очистить в вашем скрипте. Спасибо... Изменить 2: Я считаю, что ваша папка Hello создается в ядре корневой папки, попробуйте найти ее ... или домашний каталог пользователя ...

...