Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_po_OS_Linux.docx
Скачиваний:
39
Добавлен:
10.02.2015
Размер:
50.43 Кб
Скачать

Лабораторная работа 5. Резервное хранение данных. Программирование командных файлов.

Цель работы: получение практических навыков резервного копирования данных, программирования командных файлов.

Команды:

Резервное хранение данных:

backup – сохранение файловой системы, восстановление данных

cpio – архивирование данных

dump – дамп указанных частей объектных файлов (ext2/ext3)

restore – восстановление данных (пара dump/restore)

tar – архивирование данных

Утилиты:

- gzip, gunzip

-bzip2, bunzip2

- zip

Программирование командных файлов ( в оболочке Shell):

Командный файл - текстовый файл с правами на запуск.

В командном файле можно записать последовательность команд на исполнение.

Кроме этого можно написать небольшой скрипт.

Некоторые возможности по написанию скрипта:

  • Условный оператор "IF"

  • Оператор вызова ("CASE")

  • Оператор цикла с перечислением ("FOR")

  • Оператор цикла с истинным условием ("WHILE")

  • Оператор цикла с ложным условием ("UNTIL")

  • Можно писать свои функции.

Более подробную информацию можно получить - Программирование на Shell ( UNIX )

В каждой операционной системе есть более мощный скриптовый язык, основным для UNIX является PERL ( хотя есть и другие, JScript, PHP и Python ).

Задание

  1. Поработайте с этими командами.

  2. Напишите программу на Shell для резервирования каталога.

  3. Сделайте автоматический запуск этого скрипта ( в /etc/crontab) , для создания ежедневной, еженедельной и ежемесячной копии. Перед сдачей лабораторной обязательно проверьте, как это работает на том компьютере, где вы будете сдавать эту лабораторную.

  4. Используйте утилиты для архивации. Возьмите несколько файлов и запакуйте, а затем распакуйте эти файлы данными утилитами.

  5. Пройдите по пунктам умений и посмотрите, что вы еще не делали: в случае необходимости проделайте.

Лабораторная работа 6. Управление процессами.

Цель работы: получение практических навыков управления процессами.

Команды:

/etc/crontab – файл содержащий, таблицу расписаний запуска заданий

& – запуск процесса в фоновом режиме

at – запускает программы в определенное время

atq – выводит список заданий, поставленных в очередь командой at

atrm – удаление задания из очереди команды at

bg – продолжение выполнения фонового процесса, если он приостановлен нажатием

fg – вывод процесса из фонового режима

jobs – показывает процессы, запущенные в фоновом режиме, либо приостановленные

kill – прекращение выполнения процесса по PID процесса

killall – прекращение выполнения процесса по имени процесса

nice – задает приоритет процесса перед его запуском

ps – выводит информацию о работающих процессах

renice – изменяет приоритет работающего процесса

ipcs – взаимодействие процессов (разделяемая память, семафоры, сообщения)

Запуск фонового процесса осуществляется так:

ps -x &

При загрузке системы, необходимые процессы, загружаются в фоновый режим, их называют "демонами". Они находятся в каталоге /etc/rc.d/init.d/.

Некоторые комбинации клавиш:

<Ctrl+Z> - приостановить выполнение задания

<Ctrl+C> - завершить выполнение задания

Связывание процессов с помощью каналов. Запуск нескольких команд с передачей выходного потока следующей программе, "|" означает передачу выходного потока от первой программы ко второй.

ps -ax | more

запускается команда ps -ax, и передает выходной поток программ more которая запускается на выполнение.

Перенаправление ввода/вывода. Запуск команды с записью выходного потока в файл

ps -ax > test.txt

ps -ax > test.txt - добавит в конец файла

Группы команд

command-1;command-2;command-3

{command-1;command-2} > test.txt

Задание

  1. Поработайте с этими командами: запуская, запуская по времени, меняя приоритеты, уничтожая процессы.

  2. Что нужно уметь:

- задавать задание на запуск процессов в определенное время, в определенную дату и с определенным приоритетом (в очереди на запуск), показывать этот список, удалять из списка

- конфигурировать файл /etc/crontab

- посылать сигнал на прекращение процесса по ID и по имени

- запускать процесс с конкретным приоритетом

- изменять приоритет конкретного процесса

- выводить информацию о работающих процессах

- запускать процесс в фоновом режиме, выводить из него

- передавать выходной поток другой программе

- записывать выходной поток процесса в файл

- выводить информацию о работающих процессах, с различным количеством столбцов и процессов

- выводить динамическую информацию о процессах, сортировать эту информацию по столбцам, убирать и добавлять столбцы, менять приоритет процесса, уничтожать процесс.

  1. Отправьте примеры использования на проверку.

  2. В своей виртуальной машине сделать:

- создать задание на запуск программы, минута, час, день месяца

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

К сдаче лабораторной предоставляются: примеры использования команд из пункта "Что нужно уметь" и умение работать с этими командами (выборочно нужно будет выполнить).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]