Лабораторная работа №6. Скрипты, планировщики
Цель работы:
- изучение работы скриптов и приобретение навыков работы с ними;
- настройка запуска и работы некоторых служб системы;
- изучение CRONа.
1 Рабочее задание
1. Написать и запустить скрипты:
а) вывести информацию о системе и ядре на дисплей, записать ее в файл, создать к получившемуся файлу все виды ссылок;
б) показать содержимое текущей папки, создать в ней 2 файла, поменять к ним атрибуты, записать в них календари соответственно 2011 и 2012 года, просмотреть и удалить файлы;
в) создать циклический показ календаря даты своего рождения и информации о пользователе (использовать различные цвета и заливки);
г) вывести информацию о работе текущего пользователя на экран, записать ее в файл и переименовать его (использовать различные цвета и заливки);
д) вывести в цикле на экран числа от 20 до 40;
е) посчитать количество букв в строке;
ж) посчитать количество строк в любом системном файле;
з) скопировать файл /etc/shadow, переместить вновь созданный в иное место, переименовать, найти в нем последовательность букв «user*»;
и) запустить 3 скрипта одновременно в одном скрипте и вывести сообщения их успешного запуска (использовать различные цвета и заливки);
к) вывести на дисплей полную информацию обо всех процессах, найти строки, содержащие последовательность символов «root», посчитать их и записать их файл;
л) показать содержимое текущего скрипта, скопировать содержимое, очистить его и переписать его заново (использовать различные цвета и заливки);
м) просмотреть список запущенных в ОС процессов, проверить запущен ли в системе браузер Firefox или любой другой;
н) посчитать длину текущего скрипта (количество символов);
о) создать пользователя, назначить пароль, вывести информацию и удалить его (использовать различные цвета и заливки);
п) реализовать скрипт, по результату которого может возникнуть принскрин, представленный на рисунке 12.
р) в скрипте присвоить имя окну и иконке.
2. Поставить 3 скрипта на загрузку в определенное время (например, скрипты запуска некоторых служб в системе).
Рисунок 12 – принскрин результата работы некоторого скрипта
2 Методические указания к выполнению
Взаимодействие с командным интерпретатором Shell осуществляется с помощью командной строки. Командный файл или скрипт содержит одну или несколько выполняемых команд или процедур. Скрипт целесообразно делать, когда используется одна и та же последовательность команд, записав которую можно вызывать на выполнение многократно. По правилам хорошего тона программирования в ОС скрипт должен иметь расширение sh, чтобы люди отличали простые файлы от исполняемых, но это правило не всегда используется.
Если скрипты в ОС не запускаются и система выдает ошибку, то необходимо проверить в файле /etc/fstab напротив нужного раздела системы стоит ли параметр exec к файлам (исполняемость файлов). Перед написанием скрипта стоит зайти в /bin и посмотреть какая оболочка установлена (команда «find *sh*»), в дальнейшем, будем пользоваться dash. Работая со скриптами, вся работа ведется через терминал.
Алгоритм создания скрипта:
1) в какой-либо папке создать файл и заполнить его привычным для скрипта содержанием - командами, начиная с указания компилятора (в нашем случае это dash);
2) изменить права к файлу-скрипту: добавить x – исполняемость;
3) запустить файл.
Напишем несколько скриптов.
Например, вывести календарь месяца, просмотреть текущую директорию и вывести сообщение «First script». Результат выполнения на рисунке 13.
1. Выбираем папку, например, /tmp для работы в ней. Заходим, создаем (cat>1.sh) файл 1.sh со следующим содержимым
#!/bin/dash # чтобы система знала, что это скрипт
# решетка с пробелом - комментарий; без пробела - системный символ
cal
ls
echo "first script"
2. Готовый файл нужно сделать запускаемым (chmod 777 1.sh).
3. Запустить на выполнение: «./1.sh» или «dash 1.sh».
Рисунок 13 – результат выполнения скрипта 1
Cron - это процесс в фоновом режиме, запущенный программой init Linux. Cron – планировщик Linux, он выполняет задания по расписанию.
Командой crontab для каждого пользователя создается его собственный файл со списком заданий в каталоге /usr/spool/cron/crontabs.
Задание для cron выглядит как строка, в начале которой находятся пять обязательных полей периодичности задания выполнения, далее следует команда, которую нужно запускать. Значения пяти полей: 1 – минуты (от 0 до 59); 2 – часы (от 0 до 23). 3 - день месяца (от 1 до 31); 4 - номер месяца в году (от 1 до 12); 5 - день недели (от 0 до 6, причем 0-Вс, 1-Пн и так далее).
Например, скрипт /home/test/script.pl будет автоматически запускаться каждые три часа во вторник и в пятницу, а скрипт /home/test/daily.job будет запускаться в пять минут по полуночи, каждый день (см. рисунок 14). Если нужно организовать время запуска скрипта в первую минуту каждого часа (то есть в 00.01, 01.01, 02.01 и так далее), то можно зайти в файл /etc/crontab под учетной записью root и добавить строку в файл,: 1.01 * * * * /путь_к нужному_скрипту/название скрипта.
Рисунок 14 – пример запуска скриптов по расписанию
3 Список контрольных вопросов
1. Что такое «скрипт» и для чего он создается?
2. При запуске скрипта система выдает сообщение об ошибке и скрипт не запускается. Какого рода может быть ошибка и как исправить можно ситуацию?
3. Какими способами можно организовать циклический вывод?
4. Как запустить по времени скрипт?
Достарыңызбен бөлісу: |