Надстройка над консольным RAR на PHP5

Web/сайты Прочее

Был(а) онлайн: 26.04.20 14:45
Umen 26 лет

1.0 Был(а) онлайн: 26.04.20 14:45

Недавно
Нужно написать схему инкрементального архивирования с использованием
консольной версии rar и с вероятностью удаления промежуточных глав. И
вероятностью поправления файлов на дату всякий главы.

написать надобно на php5.

Как это реализовать:

как узнать все файлы надобные для определённого чаптера?

запрос к базе данных в котором надобная ревизия файла находится между первой и последней ревизией этого файла.

Весь раз мы создаём новую БД во временном файле и все новые создаваемые либо файлы для изменений во временных файлах. и только позже того как все метаморфозы внесены удачно мы даём временным файлам типичные имена затирая при необходимости ветхие файлы.

колонки:
name - полное имя файла
modify_date - дата и время последнего изменения
size - размер
first_rev - ревизия, в которой файл возник в 1-й раз
last_rev - ревизия, в которой файл возник в конечный раз

скрипт должен рабоать так:

добавить главу:

ibackup a имя_архива имя_папки

модифицировать главу:

ibackup m[=номер] имя_архива имя_папки

удалить главу:

ibackup d[=номер] имя_архива имя_папки

извлечь из главы:

ibackup e[=номер] имя_архива [имя_папки]

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

У ключей a и m должна быть необязательная опция, которая указывает силу сжатия. Опция аналогична по синтаксису применяемой в rar. По умолчанию применяется самое стремительное сжатие.

Подобно мы используем необязательную опцию -r=no, которая обозначает неимение применения рекурсии.

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

ПРимеры применения:

мы создаём первую главу:

ibackup a first /opt

Создаются файлы:

first.sq3
first.0000.rar

Если через день запустим:

ibackup a first /opt

Получим:

first.sq3
first.0000.rar
first.0001.rar

Если через день запустим:

ibackup a first /opt

Получим:

first.sq3
first.0000.rar
first.0001.rar
first.0002.rar

запустим:

ibackup d=1 first

Получим:

first.sq3
first.0000.rar
first.0002.rar

Файлы, которые были в ревизии 1 и в ревизии 2 все перешли в ревизию 2.

Для вопросов используйте аську: 113035027

Чтобы добавить заявку к этому заказу, нужно войти или зарегистрироваться

Мой блок

26.04.20 14:45
Umen 26