Bug 32816 - Ошибки скрипта /usr/bin/eterpack
Summary: Ошибки скрипта /usr/bin/eterpack
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: eterbackup (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-28 21:03 MSK by Стас
Modified: 2017-08-07 01:26 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Стас 2016-11-28 21:03:23 MSK
1. Скрипт /usr/bin/eterpack обрабатывает только одну опцию --exclude
Таким образом, невозможно исключить несколько каталогов.
2. При резервном копировании файлов и каталогов с пробелами и неалфавитно-цифровыми символами в именах в конце работы скрипта zpaq выдаёт подсказку usage:
=================================================================
Save attrs and special files...

Packing extra files ...
zpaq archiver for incremental backups with rollback capability.
http://mattmahoney.net/zpaq

Usage: zpaq {add|extract|list} archive[.zpaq] files... -options...
Files... may be directory trees. Default is the whole archive.
Archive may be "" to test compression or comparison.
* and ? in archive match numbers or digits in a multi-part archive.
Part 0 is the index. If present, no other parts are needed to add or list.
Commands (a,x,l) and options may be abbreviated if not ambiguous.
  -all [N]        Extract/list versions in N [4] digit directories.
  -key [password] AES-256 encrypted archive [prompt without echo].
  -noattributes   Ignore/don't save file attributes or permissions.
  -not files...   Exclude. * and ? match any string or char.
  -only files...  Include only matches (default: *).
  -summary        Be brief.
  -test           Do not write to disk.
  -threads N      Use N threads (default: 0).
  -to out...      Rename files... to out... or all to out/all.
  -until N        Roll back archive to N'th update or -N from end.
  -until 2016-11-28 11:02:30  Set date, roll back (UT, default time: 235959).
add options:
  -force          Add files even if the date is unchanged.
  -nodelete       Do not mark unmatched files as deleted.
  -method L       Compress level L (0..5 = faster..better, default 1).
          LB      Use 2^B MB blocks (0..11, default 04, 14, 26..56).
          i       Index (file metadata only).
  -fragment N     Set average dedupe fragment size = 2^N KiB (default: 6).
extract options:
  -force          Overwrite existing files (default: skip).
list (compare files) options:
  -force          Compare file contents instead of dates (slower).
  -not =[+-#?^]   Exclude by comparison result.
  -summary [N]    Show N largest files/dirs only (default: 20).
/root
=================================================================

IMHO причина в том, что скрипт неверно формирует командную строку для запуска zpaq - не экранирует пробелы и/или спецсимволы.

Таким образом, eterpack непригоден для выполнения своей основной функции на произвольных данных.
Comment 1 Vitaly Lipatov 2017-08-07 01:26:56 MSK
(В ответ на комментарий №0)
> 1. Скрипт /usr/bin/eterpack обрабатывает только одну опцию --exclude
> Таким образом, невозможно исключить несколько каталогов.
Да. Пока во всех реальных случаях использования требовалось исключить только один каталог.

> 2. При резервном копировании файлов и каталогов с пробелами и
...
> IMHO причина в том, что скрипт неверно формирует командную строку для запуска
> zpaq - не экранирует пробелы и/или спецсимволы.
Эта проблема касается только файлов, находящихся в корне каталога, для которого создаётся архив.
 
> Таким образом, eterpack непригоден для выполнения своей основной функции на
> произвольных данных.
Он предназначен не для произвольных данных, а для больших данных с большим количеством файлов, разложенных в подкаталогах.
Например, /home, каталоги с почтой пользователей, каталоги с контейнерами типа /var/lib/vz.

Спасибо за замечания, соответствующие тесты добавлены и при возможности проблема будет исправлена.