Red Hat System Administration II 8.2

Упражнение под руководством преподавателя: Планирование отсроченного пользовательского задания

В этом упражнении вы будете использовать команду at для планирования выполнения команд в определенное время в будущем.

Результаты

Вы сможете:

  • запланировать выполнение задания в указанное время в будущем;

  • проверить команды, которые выполняет запланированное задание;

  • удалить запланированные задания.

Войдите на workstation как пользователь student с паролем student.

На workstation запустите сценарий lab scheduling-at start, чтобы начать упражнение. Этот сценарий обеспечивает очистку и правильную настройку среды.

[student@workstation ~]$ lab scheduling-at start
  1. На workstation установите SSH-подключение к servera как пользователь student.

    [student@workstation ~]$ ssh student@servera
    ...output omitted...
    [student@servera ~]$ 
  2. Запланируйте выполнение задания через три минуты с помощью команды at. Задание должно сохранять вывод команды date в файл /home/student/myjob.txt.

    1. С помощью команды echo передайте строку date >> /home/student/myjob.txt в качестве входных данных в команду at, чтобы задание запустилось через три минуты.

      [student@servera ~]$ echo "date >> /home/student/myjob.txt" | at now +3min
      warning: commands will be executed using /bin/sh
      job 1 at Thu Mar 21 12:30:00 2019
    2. Выполните команду atq для просмотра списка запланированных заданий.

      [student@servera ~]$ atq
      1 Thu Mar 21 12:30:00 2019 a student
    3. Выполните команду watch atq для мониторинга очереди отсроченных заданий в режиме реального времени. После выполнения задание будет удалено из очереди.

      [student@servera ~]$ watch atq
      Every 2.0s: atq         servera.lab.example.com: Thu Mar 21 12:30:00 2019
      
      1 Thu Mar 21 12:30:00 2019 a student

      Вышеуказанная команда watch по умолчанию обновляет вывод команды atq каждые две секунды. После удаления отсроченного задания из очереди нажмите Ctrl+c, чтобы выйти из команды watch и вернуться к приглашению командной оболочки.

    4. Выполните команду cat, чтобы убедиться, что содержимое файла /home/student/myjob.txt соответствует выводу команды date.

      [student@servera ~]$ cat myjob.txt
      Thu Mar 21 12:30:00 IST 2019

      Вышеуказанный вывод совпадает с выводом команды date, а это значит, что запланированное задание было выполнено успешно.

  3. Используйте команду at, чтобы интерактивно запланировать выполнение задания с очередью g в teatime (16:00). Задание должно выполнить команду, которая выводит сообщение It's teatime в файл /home/student/tea.txt. Новые сообщения должны добавляться в файл /home/student/tea.txt.

    [student@servera ~]$ at -q g teatime
    warning: commands will be executed using /bin/sh
    at> echo "It's teatime" >> /home/student/tea.txt
    at> Ctrl+d
    job 2 at Thu Mar 21 16:00:00 2019
  4. Используйте команду at, чтобы интерактивно запланировать выполнение еще одного задания с очередью b в 16:05. Задание должно выполнить команду, которая выводит сообщение The cookies are good в файл /home/student/cookies.txt. Новые сообщения должны добавляться в файл /home/student/cookies.txt.

    [student@servera ~]$ at -q b 16:05
    warning: commands will be executed using /bin/sh
    at> echo "The cookies are good" >> /home/student/cookies.txt
    at> Ctrl+d
    job 3 at Thu Mar 21 16:05:00 2019
  5. Посмотрите команды в ожидающих заданиях.

    1. Выполните команду atq, чтобы посмотреть номера ожидающих заданий.

      [student@servera ~]$ atq
      2 Thu Mar 21 16:00:00 2019 g student
      3 Thu Mar 21 16:05:00 2019 b student

      Обратите внимание на номера заданий в вышеуказанном выводе. В вашей системе номера заданий могут быть другими.

    2. Выполните команду at, чтобы просмотреть команды в ожидающем задании с номером 2.

      [student@servera ~]$ at -c 2
      ...output omitted...
      echo "It's teatime" >> /home/student/tea.txt
      marcinDELIMITER28d54caa

      Обратите внимание, что вышеуказанное запланированное задание выполняет команду echo, которая добавляет сообщение It's teatime в файл /home/student/tea.txt.

    3. Выполните команду at, чтобы просмотреть команды в ожидающем задании с номером 3.

      [student@servera ~]$ at -c 3
      ...output omitted...
      echo "The cookies are good" >> /home/student/cookies.txt
      marcinDELIMITER1d2b47e9

      Обратите внимание, что вышеуказанное запланированное задание выполняет команду echo, которая добавляет сообщение The cookies are good в файл /home/student/cookies.txt.

  6. Выполните команду atq, чтобы просмотреть номер задания, которое выполняется в teatime (16:00), а затем удалите это задание с помощью команды atrm.

    [student@servera ~]$ atq
    2 Thu Mar 21 16:00:00 2019 g student
    3 Thu Mar 21 16:05:00 2019 b student
    [student@servera ~]$ atrm 2
  7. Убедитесь, что задания, которое запланировано на teatime (16:00), больше нет.

    1. Выполните команду atq, чтобы отобразить список ожидающих заданий, и убедитесь, что задания, запланированного на teatime (16:00), больше нет.

      [student@servera ~]$ atq
      3 Thu Mar 21 16:05:00 2019 b student
    2. Выйдите с servera.

      [student@servera ~]$ exit
      logout
      Connection to servera closed.
      [student@workstation ~]$ 

Конец

На workstation запустите сценарий lab scheduling-at finish, чтобы закончить упражнение. Сценарий удаляет файлы, созданные в ходе упражнения, для очистки среды.

[student@workstation ~]$ lab scheduling-at finish

Упражнение завершено.