Как утилита CentOS/Linux zip обрабатывает файлы, которые изменяются во время сжатия?

Как утилита CentOS/Linux zip обрабатывает файлы, которые изменяются во время сжатия?

Вопрос говорит сам за себя: у меня есть каталог, который я хочу заархивировать 'zip -rv', но файлы в нем все время меняются (резервная копия базы данных postgres). Нарушит ли это zip или продолжит работу с предупреждением, как это делает rsync?

Tar терпит неудачу, когда находит файл, который был изменен во время сжатия. Я запустил несколько тестовых zip-архивов в каталоге, генерируя изменения файлов, и не увидел никаких ошибок, но это может быть просто потому, что мне повезло, и zip уже сжал/еще не добрался до измененных файлов. Мой план B на данный момент — rsync изменяющегося каталога в другую папку, а затем заархивировать статическое расположение, но это займет вдвое больше места, и я хотел бы избежать этого, если это возможно. Если zip не может обрабатывать изменения файлов во время сжатия, есть ли утилита, которая это делает?

ОС - Centos 6, кстати.

решение1

Он вообще их не обрабатывает. zip считывает все дерево каталогов, когда начинает создавать архив.

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

Связанный контент