Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#15| Dragon God
Demon's Souls |#14| Flamelurker
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Сэйдж Рас Весь текст 822.4 Kb

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

Предыдущая страница Следующая страница
1 ... 11 12 13 14 15 16 17  18 19 20 21 22 23 24 ... 71
       пользователь  должен  нести  ответственность за расход дискового прост-
       ранства. (Если вы платите за дисковую память, то у вас также могут быть
       финансовые  стимулы.) Однако,  то,  что вы хотите сохранить,  вы хотите
       СОХРАНИТЬ. Именно здесь начинается работа по созданию резервных копий.

     3.1. СОПРОВОЖДЕНИЕ ФАЙЛОВ

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

     3.1.1. ОПЕРАЦИИ СОПРОВОЖДЕНИЯ

            Сопровождение файлов включает два вида операций:  создание резерв-
       ных копий (копирование) и удаление "мусора".
            Копирование - это дань уважения,  которую мы платим  за  хрупкость
       физических  данных  в  руки  Мерфи  и  других  богов энтропии.  Хорошее
       средство копирования является быстрым,  гибким, простым в использовании
       и  стимулирует  пользователей  часто  копировать самые важные файлы.  В
       последующем тексте будут  представлены  различные  методы  копирования,
       пригодные для разных конфигураций системы и типов носителей.
            Имеется два вида резервных копий:  "мягкие" и "твердые".  "Мягкие"
       резервные копии - это копии в другом файле или каталоге в той же или  в
       другой  файловой  системе  (т.е.  разделе) на том же или другом жестком
       диске.  Такого рода копирование сделать легко и оно предохраняет от на-
       носимого самому себе ущерба,  такого как удаление файла по невниматель-
       ности.  Чаще  всего  для  такого  типа  копирования  используется  наше
       средство cptdir.  Основной недостаток мягкого копирования заключается в
       том,  что вы по-прежнему уязвимы для таких воздействий,  которые влияют
       на ваш физический носитель (обычно жесткий диск) так,  что и оригинал и
       копия оказываются разрушенными.
            "Твердая" копия - это копия на другом устройстве или даже в другой
       системе UNIX.  Средства,  представленные ниже в данной главе, управляют
       такого рода копированием и дают вам возможность  выполнять  копирование
       такого типа и с такой периодичностью,  которые соответствуют объему ва-
       шей вычислительной системы,  уровню ее активности и  важности  хранимых
       данных.
            Твердое копирование всегда несколько утомительно, потому что диски
       или ленты должны быть смонтированы (или должна быть установлена связь с
       другой системой),  а эта операция требует много времени.  Преимущество,
       естественно,  заключается  в том,  что вы больше не зависите от целост-
       ности какого-либо одного устройства.
            Автоматизируя нашу процедуру копирования, мы стараемся сделать его
       как можно менее болезненным. Делая наши средства копирования в какой-то
       степени разумными,  мы можем выбрать только файлы,  которые нуждаются в
       копировании,  и тем самым сохранить время и  память.  Наилучший  способ
       обеспечить,  чтобы  копирование  выполнялось регулярно - минимизировать
       время и требуемые для этого усилия. Наконец, создание процедур для про-
       верки правильности копий даст вам спокойствие духа.
            "Удаление мусора" можно автоматизировать путем указания  и  подго-
       товки к удалению файлов,  которые, вероятно, будут временными, либо ка-
       ких-то других файлов, которые созданы (но не обязательно разрушены) при
       компиляции,  выполнении конвейеров или другими операциями. Вы также мо-
       жете указывать файлы,  специфичные для ваших работ  как  не  подлежащие
       удалению.

     3.1.2. СРЕДСТВА ПЕРЕСЫЛКИ ФАЙЛОВ

            Первая группа средств - это простые универсальные переносчики фай-
       лов. Программа cptdir может копировать каталог (и любые подчиненные ка-
       талоги,  лежащие ниже в дереве) в каталог-приемник.  Каталог-приемник -
       это обычно каталог,  назначенный в качестве резервной копии для некото-
       рого проекта.
            Программа can берет на себя необходимую рутинную работу -  убирает
       "мусор". Эта программа позволяет вам выбрать типы временных файлов, ко-
       торые должны периодически удаляться. Направляя их в "мусорный" каталог,
       can предоставляет вам возможность просмотреть все,  что было удалено, и
       восстановить то, что вы на самом деле хотите сохранить.
            Программа dosflp  допускает  применение символов-шаблонов в именах
       файлов, используемых при копировании отобранных файлов с дискет формата
       MS-DOS в XENIX. Это упрощает операцию копирования и уменьшает число на-
       жатий на клавиши.

     3.1.3. СРЕДСТВА КОПИРОВАНИЯ

            Далее представляется  "рабочая  лошадка"  -  средства копирования.
       Autobkp использует список  маршрутных  имен,  чтобы  определить,  какие
       части файловой системы должны быть проверены. Затем эта программа копи-
       рует из выбранных областей те файлы, которые были добавлены или измене-
       ны в последние 24 часа.
            Cpiobr предоставляет  интерактивное  дополнение  к  команде   cpio
       системы  UNIX.  Она позволяет вам скопировать файлы с жесткого диска на
       гибкий и, если необходимо, восстановить их с гибкого диска на жесткий.

     3.1.4. СРЕДСТВА ПРОВЕРКИ ОПЕРАЦИЙ КОПИРОВАНИЯ

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

     3.2. ПЕРЕСЫЛКА ФАЙЛОВ

            3.2.1. cptdir - копирование дерева каталога

            ИМЯ: cptdir
                 cptdir        Копирует дерево каталога в другое место

            ФУНКЦИЯ
            Копирует дерево файловой системы, корень которого расположен в ка-
       талоге,  в другой каталог системы. Нет ограничений на какой-либо специ-
       фический каталог или жесткий диск.
            ФОРМАТ
            cptdir [-s] каталог-источник каталог-приемник
            ПРИМЕР ВЫЗОВА
            cptdir $HOME /bkp
            Копирует каждый файл из $HOME в каталог /bkp.

            КОМАНДНЫЙ ФАЙЛ cptdir

        1  :
        2  # &(#) cptdir v.1.0  Copy a directory tree  Autor: Russ Sage

        4  if [ $# -lt 2 -o $# -gt 3 ]
        5     then  echo "cptdir: argument error"           >&2
        6           echo "usage: cptdir [-s] srcdir desdir" >&2
        7           echo "          -s  silent mode"        >&2
        8           exit 1
        9  fi

        11 if [ "$1" ="-s" ]
        12   then  OPT="-pd"
        13         shift
        14   else OPT="-pdv"
        15 fi

        17  SRC=$1
        18  DEST=$2
        19  umask 0

        21 if [ -d $DEST ]
        22    then echo "\"$DEST\" already exist. Remove it? (y/n): \c"
        23         read CMD
        24         if [ "$CMD" = "y" ]
        25            then rm -rf $DEST
        26                 mkdir $DEST
        27         fi
        28    else mkdir $DEST
        29 fi

        31 if [ "`echo $DEST|cut -c1`" = "/" ]
        32   then cd $SRC
        33        find . -print | sort | cpio $OPT $DEST
        34   else PWD=`pwd`
        35        cd $SRC
        36        find . -print | sort | cpio $OPT $PWD/$DEST
        37 fi

     ПЕРЕМЕННЫЕ СРЕДЫ

     CMD   Команда, полученная от пользователя
     DEST  Каталог-приемник, в который нужно копировать
     OPT   Опции, которые передаются утилите cpio
     PWD   Текущий рабочий каталог
     SRC   Каталог-источник, из которого нужно копировать

            Описание
            Зачем нам нужен cptdir?

            Мы уже отмечали необходимость в дополнительных  командах,  которые
       рекурсивно обходят древовидную структуру файловой системы UNIX.  В ран-
       них версиях UNIX единственная команда tar могла управлять движением  по
       дереву.  В  более  новых версиях системы имеется опция -r в команде cp,
       которая делает cp рекурсивной (эта  возможность  реализована  только  в
       последней версии System V) и команда cpio.  Последняя является многоце-
       левой командой копирования,  которая может иметь дело как  с  потоковым
       форматом, так и с форматом файловой системы.
            Проблема при использовании даже таких улучшенных  стандартных  ко-
       манд  системы UNIX состоит в том,  что вам необходимо указать множество
       деталей и убедиться в том,  что  вы  правильно  используете  синтаксис.
       Ошибки могут привести к потере времени и даже хуже того,  к неожиданным
       побочным эффектам. С некоторыми из этих эффектов связаны изменения прав
       доступа и владельца,  порядок распределения индексных дескрипторов фай-
       лов (inode),  размещения файлов-приемников и результирующие полные име-
       на.  Очень  много необходимо запомнить и заново вызывать каждый раз при
       копировании.  Поскольку такое копирование делается не часто, тяжело за-
       помнить все эти детали. Мы разрешаем эту проблему, автоматизируя детали
       процесса и в то же время предоставляя пользователю гибкость и  управле-
       ние результатами. Мы создаем инструменты для управления файлами, кото-
       рые являются хорошими дополнительными средствами  к  основным  командам
       системы UNIX.

            Что делает cptdir?

            Процедура cptdir копирует каталог (и все дерево под ним,  если оно
       существует) в другой каталог системы. Поскольку каталоги предусматрива-
       ют  логический  доступ и не являются аппаратно-зависимыми (в отличие от
       имен устройств),  то вы можете легко копировать файлы в другое место на
       том же диске или копировать их на другой диск полностью без специально-
       го синтаксиса или опций.
            Вы можете указать,  хотите ли вы,  чтобы на экран выводились имена
       копируемых файлов.  Если вы  не  хотите  этого,  используйте  опцию  -s
Предыдущая страница Следующая страница
1 ... 11 12 13 14 15 16 17  18 19 20 21 22 23 24 ... 71
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (52)

Реклама