Использование опции -remove-source-files для rsync

Из manpage rsync

–remove-исток-файлы

Это говорит rsync удалить со стороны отправки файлы (что означает не-каталоги ), которые являются частью передачи и были успешно дублированы на принимающей стороне .

  • Означает ли это файлы на отправляющей стороне, которые либо являются частью передачи, либо дублируются на принимающей стороне?

  • Могу ли я также удалить каталоги на отправляющей стороне?

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

  • Что означает «исходные файлы, которые находятся в состоянии покоя»?

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

  • Что это значит?

Если вы не можете сначала записать файлы в другой каталог, вы должны использовать именование именования, которое позволяет rsync избегать переноса файлов, которые еще не завершены (например, назовите файл «foo.new», когда он написан, переименуйте его в « foo ", когда это будет сделано, а затем используйте опцию –exclude = '*. new' для передачи rsync).

  • Что это значит?

Начиная с 3.1.0, rsync пропустит удаление стороны отправителя (и выдает ошибку), если размер файла или время изменения не остались без изменений.

  • Что это значит?

Благодарю.

One Solution collect form web for “Использование опции -remove-source-files для rsync”

В: Это означает, что файлы на отправляющей стороне являются либо частью передачи, либо дублируются на принимающей стороне?

  • Оба

В: Могу ли я также удалить каталоги на стороне отправки?

  • A: Да

--remove-source-files затем выдают команду rm -rf <source_directory>

В: Что означает «исходные файлы, которые находятся в состоянии покоя»?

  • A: Это файлы, которые были написаны и закрыты

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

  • A: Это означает, что я сказал выше

В: Если вы не можете сначала записать файлы в другой каталог, вы должны использовать именование именования, которое позволяет rsync избежать переноса файлов, которые еще не завершены (например, назовите файл «foo.new», когда он написан, переименуйте его до «foo», когда это будет сделано, а затем используйте опцию –exclude = '*. new' для передачи rsync). Что это значит?

  • A: Это означает, что RSYNC составляет список файлов, которые нужно перенести первым. Затем он записывает их в другой каталог (Destination Directory), поэтому, если вы перенесите файл, который еще не закончил, лучше переименовать его после его завершения с помощью опции -exclude

Q: Начиная с 3.1.0, rsync пропустит удаление стороны отправителя (и выдает ошибку), если размер файла или время изменения не остались без изменений. Что это значит?

  • A: Если RSYNC обнаруживает, что когда он собирается записать файл в каталог назначения, размер файла которого изменился между временем его сканирования, до момента его фактической записи в целевой каталог, RSYNC пропустит файл.
  • Rsync передает больше данных, чем разница между источником и получателем, почему?
  • Как установить файлы и папки на их разрешения по умолчанию?
  • Режим архивирования rsync
  • Выполняет ли команда "rsync -a" сохранение всех атрибутов исходных файлов?
  • Возобновить перенос одного файла с помощью rsync
  • Ключевые кодовые фразы и SSH-кэшированная аутентификация?
  • Ошибка Rsync с использованием команды репликации с сапожником
  • rsync: исключая шаблон в файле exclude, не работает
  • Использует rsync, пока источник обновляется безопасно?
  • начать загрузку rsync до завершения загрузки
  • Есть ли причина использовать scp вместо rsync?
  • Linux и Unix - лучшая ОС в мире.