Приемы профессиональной работы в UNIX


ОПИСАНИЕ


Зачем нам нужен log?

Если вы читали эту главу, ничего не пропуская, вы уже встречались с программой autobkp. Выводные данные autobkp очень информативны и должны быть сохранены как часть операции копирования. Это еще более важно, если у вас имеются программы, запускаемые с помощью cron. Со временем некоторые из этих программ может начать работать неверно и разрушить все вами сделанные копии. Единственный способ проследить за такими вещами - это использовать файлы протокола. Файлы протокола команды cron содержат некоторую информацию, но файлы протокола программы autobkp содержат ее гораздо больше.

Проблема возникает, когда вы сталкиваетесь с наличием нескольких работ для autobkp. Вы можете не захотеть смешивать невзаимосвязанные копии файлов в одном и том же файле со списком маршрутов, поэтому вы создаете несколько файлов pathlist, несколько заданий для cron и несколько файлов протокола. Если вам нужно выполнить пять или десять подобных работ, каким образом вы проследите за всеми файлами протоколов, запомните их имена и облегчите их просмотр? Все эти проблемы решены в командном файле log.

Что делает log?

Командный файл log - это управляемая при помощи меню утилита. Меню позволяет вам видеть текущие имена файлов в файлах протокола, поэтому вам нет необходимости помнить их. Остальные команды являются входными точками в файлы протокола, использующими команду more для просмотра.

Когда мы рассматривали командный файл cpiobr, мы видели, как работает управляемая при помощи меню программа. Командный файл log несколько проще в том смысле, что он делает только один проход. Кроме того, log - это "живая" программа. Она не является статичной и должна постоянно изменяться в соответствии с вашими процедурами копирования. Посредством такой модификации log способна сообщить вам действительные имена файлов.

Log является разновидностью программы, ссылающейся сама на себя. Для показа действительных имен файлов она просматривает свое содержимое и выбирает (используя sed) имена log-файлов из команды more, которая выводит их. Поскольку вы добавляете файлы протокола, программа log может хранить текущие, потому что она просматривает сама себя для определения того, что соответствует действительности. Применяя процедуру поиска таким образом, мы избавляемся от необходимости сохранять отдельные файлы данных с именами в них или использовать какие-то соглашения об именовании выполнения той же задачи. Способность программы log обращаться самой к себе позволяет вам добавлять неограниченное число файлов протокола в список, и вам предоставляется свобода по выбору имен таких файлов.

Возможно, вы заметили, что стратегия, использованная в командном файле log, может быть использована для обеспечения вывода на экран любого набора файлов (записные книжки, документация или еще что-то). Все, что вам нужно сделать для этого - записать их в соответствии с командой more и добавить столько команд в главное меню, сколько вы хотите.




Начало  Назад  Вперед



Книжный магазин