Главная страница
Навигация по странице:


  • /home/user/

  • /home/user/backup-report

  • .YYYY-MM-DD

  • Практика бд. Операционные. Министерство образования и науки российской федерации университет итмо д. А. Зубок, А. В. Маятин


    Скачать 324.61 Kb.
    НазваниеМинистерство образования и науки российской федерации университет итмо д. А. Зубок, А. В. Маятин
    АнкорПрактика бд
    Дата11.04.2023
    Размер324.61 Kb.
    Формат файлаdocx
    Имя файлаОперационные.docx
    ТипДокументы
    #1055283
    страница18 из 22
    1   ...   14   15   16   17   18   19   20   21   22

    ./../../home/user/file



    будет соответствовать пути к файлу в домашнем каталоге, как и описанный выше пример абсолютного пути.
    Для того, чтобы перейти к корню файловой системы можно использовать команду cd /

    Для обозначения домашнего каталога активного пользователя можно использовать символ . Тогда запись cd будет эквивалентна записи cd $HOME.

    Задание на лабораторную работу



    Создайте скрипты для перечисленных заданий и предъявите их преподавателю.


    1. Скрипт rmtrash

      1. Скрипту передается один параметр – имя файла в текущем каталоге вызова скрипта.

      2. Скрипт проверяет, создан ли скрытый каталог trash в домашнем каталоге пользователя. Если он не создан создает его.

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

      4. Затем в скрытый файл trash.log в домашнем каталоге пользователя помещается запись, содержащая полный исходный путь к удаленному файлу и имя созданной жесткой ссылки.

    2. Скрипт untrash

      1. Скрипту передается один параметр – имя файла, который нужно восстановить (без полного пути – только имя).

      2. Скрипт по файлу trash.log должен найти все записи, содержащие в качестве имени файла переданный параметр, и выводить по одному на экран полные имена таких файлов с запросом подтверждения.

      3. Если пользователь отвечает на подтверждение положительно, то предпринимается попытка восстановить файл по указанному полному пути (создать в соответствующем каталоге жесткую ссылку на файл из trash и удалить соответствующий файл из trash). Если каталога, указанного в полном пути к файлу, уже не существует, то файл восстанавливается в домашний каталог пользователя с выводом соответствующего сообщения.

    3. Скрипт backup

      1. Скрипт создаст в /home/user/ каталог с именем Backup-YYYY- MM-DD, где YYYY-MM-DD – дата запуска скрипта, если в

    /home/user/ нет каталога с именем, соответствующим дате, отстоящей от текущей менее чем на 7 дней. Если в /home/user/ уже есть «действующий» каталог резервного копирования (созданный не ранее 7 дней от даты запуска скрипта), то новый каталог не создается. Для определения текущей даты можно воспользоваться командой date.

      1. Если новый каталог был создан, то скрипт скопирует в этот каталог все файлы из каталога /home/user/source/ (для тестирования скрипта создайте такую директорию и набор файлов в ней). После этого скрипт выведет в режиме дополнения в файл

    /home/user/backup-report следующую информацию: строка со сведениями о создании нового каталога с резервными копиями с указанием его имени и даты создания; список файлов из

    /home/user/source/, которые были скопированы в этот каталог.

      1. Если каталог не был создан (есть «действующий» каталог резервного копирования), то скрипт должен скопировать в него все файлы из /home/user/source/ по следующим правилам: если файла с таким именем в каталоге резервного копирования нет, то он копируется из /home/user/source. Если файл с таким именем есть, то его размер сравнивается с размером одноименного файла в действующем каталоге резервного копирования. Если размеры совпадают, файл не копируется. Если размеры отличаются, то файл копируется c автоматическим созданием версионной копии, таким образом, в действующем каталоге резервного копирования появляются обе версии файла (уже имеющийся файл переименовывается путем добавления дополнительного расширения «.YYYY-MM-DD» (дата запуска скрипта), а скопированный сохраняет имя). После окончания копирования в файл /home/user/backup-report выводится строка о внесении изменений в действующий каталог резервного копирования с указанием его имени и даты внесения изменений, затем строки, содержащие имена добавленных файлов с новыми именами, а затем строки с именами добавленных файлов с существовавшими в действующем каталоге резервного копирования именами с указанием через пробел нового имени, присвоенного предыдущей версии этого файла.

    1. Скрипт upback

      1. Скрипт должен скопировать в каталог /home/user/restore/ все файлы из актуального на данный момент каталога резервного копирования (имеющего в имени наиболее свежую дату), за исключением файлов с предыдущими версиями.

    2. Все скрипты должны корректно обрабатывать любые передаваемые им входные параметры и значения. Не допускается вывод сообщений об ошибках от отдельных команд, использующихся в скрипте. В случае некорректных входных данных или невозможности выполнить операцию,

    пользователю должно выводиться отдельное сообщение, формирующееся в скрипте. Перед предъявление результатов выполнения лабораторной работы преподавателю необходимо провести тестирование разработанных скриптов.


    1   ...   14   15   16   17   18   19   20   21   22


    написать администратору сайта