1

Я пытаюсь настроить систему резервного копирования для сервера, который мне удается улучшить по сравнению со старой системой. Я выбираю zpaq, потому что он обеспечивает хорошее сжатие со старой системой с использованием lrzip -z и потому что связанная страница утверждает, что предлагает инкрементное сжатие, при котором в каждом новом экземпляре резервной копии создаются только измененные данные.

В настоящее время я использую следующий скрипт для резервного копирования (все данные хранятся в каталоге server ):

cd server
zpaq pa ../backup.zpaq *

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

Справочная страница , написанная автором инструментов, гласит:

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

В справочной странице Ubuntu не упоминается рекурсия. Я установил инструмент из репозитория Ubuntu, используя apt-get install zpaq . Если zpaq в Ubuntu чем-то отличается от того, который я связал в начале этого вопроса, объясните, пожалуйста, где можно найти пакет Ubuntu для связанного zpaq.

2 ответа2

1

Похоже, вам нужно решение, которое zpaq работать так, как вы ожидаете.  Но, если вы используете bash , этот обходной путь должен дать вам желаемый результат.  Типа shopt -s globstar .  Затем выполните команду, которую вы использовали, с одним небольшим изменением:

zpaq pa ../backup.zpaq **

При действующем режиме globstar ** расширяется до списка записей в текущем дереве каталогов; т.е. текущий каталог и ниже.  Как * , он будет игнорировать . (скрытые) файлы.  Если вы хотите включить их, сделайте shopt -s dotglob .  (Вы можете объединить их в одну команду: shopt -s globstar dotglob .)

Это наиболее удобно сделать в скрипте.  Но, если вы делаете это в своей основной (интерактивной) оболочке, вы можете отменить настройки shopt .  Вы можете сделать это с помощью shopt -u globstar dotglob .

Примечание. Если у вас слишком много файлов, это может не сработать, поскольку существует ограничение на длину командной строки, но оно довольно большое.

0

У меня была такая же проблема на Ubuntu 14.04.3. Решение состоит в том, чтобы не использовать Пакет из репозитория, а установить последний источник с http://mattmahoney.net/dc/zpaq.html

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

make
sudo make install

Сейчас занимаюсь

zpaq a *archive* */dir*

будет включать в себя каталог и все его подкаталоги и файлы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .