Red Hat System Administration II 8.2
В этом упражнении вы запланируете запуск команд по повторяющемуся расписанию от имени непривилегированного пользователя с помощью команды crontab.
Результаты
Вы сможете:
запланировать запуск повторяющихся заданий от имени непривилегированного пользователя;
проверить команды, которые выполняет запланированное повторяющееся задание;
удалить запланированные повторяющиеся задания.
Войдите на workstation как пользователь student с паролем student.
На workstation запустите сценарий lab scheduling-cron start, чтобы начать упражнение. Этот сценарий обеспечивает очистку и правильную настройку среды.
[student@workstation ~]$lab scheduling-cron start
На
workstationустановите SSH-подключение кserveraкак пользовательstudent.[student@workstation ~]$ssh student@servera...output omitted...[student@servera ~]$От имени пользователя
studentзапланируйте повторяющееся задание, которое добавляет текущую дату и время в файл/home/student/my_first_cron_job.txtкаждые две минуты между 8:00 и 21:00. Задание должно выполняться только с понедельника по пятницу.Важно
Если вы выполняете эту лабораторную работу в период времени, отличный от указанного в инструкции выше, необходимо соответствующим образом настроить системное время и дату, чтобы задание выполнилось, пока вы работаете.
Выполните команду crontab -e, чтобы открыть файл crontab в текстовом редакторе по умолчанию.
[student@servera ~]$crontab -eВставьте следующую строку:
*/2 08-20 * * Mon-Fri /usr/bin/date >> /home/student/my_first_cron_job.txt
В текстовом редакторе нажмите Esc и введите
:wq, чтобы сохранить изменения и выйти из редактора. После закрытия редактора вы увидите следующий вывод:...output omitted...
crontab: installing new crontab[student@servera ~]$Вышеуказанный вывод подтверждает, что задание было успешно запланировано.
Выполните команду crontab -l для просмотра списка запланированных повторяющихся заданий. Просмотрите команду, запланированную к выполнению в рамках повторяющегося задания на предыдущем шаге.
[student@servera ~]$crontab -l*/2 08-20 * * Mon-Fri/usr/bin/date >> /home/student/my_first_cron_job.txtОбратите внимание, что вышеуказанное запланированное задание выполняет команду /usr/bin/date и добавляет вывод в файл
/home/student/my_first_cron_job.txt.Используйте команду while, чтобы командная оболочка подождала создания файла
/home/student/my_first_cron_job.txtв результате успешного выполнения запланированного повторяющегося задания. Дождитесь появления приглашения оболочки.[student@servera ~]$while ! test -f my_first_cron_job.txt; do sleep 1s; doneВышеуказанная команда while использует команду ! test -f, чтобы продолжать выполнять цикл команд sleep 1s, пока в каталоге
/home/studentне будет создан файлmy_first_cron_job.txt.Выполните команду cat, чтобы убедиться, что содержимое файла
/home/student/my_first_cron_job.txtсоответствует выводу команды date.[student@servera ~]$cat my_first_cron_job.txtFri Mar 22 13:56:01 IST 2019В вашей системе вывод может отличаться.
Удалите все повторяющиеся задания, запланированные к выполнению от имени пользователя
student.Выполните команду crontab -r, чтобы удалить все запланированные повторяющиеся задания для пользователя
student.[student@servera ~]$crontab -rВыполните команду crontab -l, чтобы убедиться, что для пользователя
studentнет повторяющихся заданий.[student@servera ~]$crontab -lno crontab for studentВыйдите с
servera.[student@servera ~]$exitlogout Connection to servera closed.[student@workstation ~]$