Вопрос говорит сам за себя: у меня есть каталог, который я хочу заархивировать 'zip -rv', но файлы в нем все время меняются (резервная копия базы данных postgres). Нарушит ли это zip или продолжит работу с предупреждением, как это делает rsync?
Tar терпит неудачу, когда находит файл, который был изменен во время сжатия. Я запустил несколько тестовых zip-архивов в каталоге, генерируя изменения файлов, и не увидел никаких ошибок, но это может быть просто потому, что мне повезло, и zip уже сжал/еще не добрался до измененных файлов. Мой план B на данный момент — rsync изменяющегося каталога в другую папку, а затем заархивировать статическое расположение, но это займет вдвое больше места, и я хотел бы избежать этого, если это возможно. Если zip не может обрабатывать изменения файлов во время сжатия, есть ли утилита, которая это делает?
ОС - Centos 6, кстати.
решение1
Он вообще их не обрабатывает. zip считывает все дерево каталогов, когда начинает создавать архив.
- Если во время операции сжатия файл будет удален, вы получите предупреждающее сообщение.
- Если файл создан во время операции zip, он не будет в архиве.еслион был создан в каталоге, который уже был прочитан. Если файл создан до того, как zip прочитает содержимое этого каталога, он будет в архиве.
- Если файл был изменен во время операции zip, его содержимое останется таким же, каким оно было при добавлении в архив. Файлы считываются по мере добавления в архив.