Безопасно ли использовать, rsync
когда исходная файловая система смонтирована и доступна для записи, если предположить, что она вполне может быть изменена во время работы rsync? Я предполагаю, что в условиях гонки я могу не получить последние модификации, но есть ли риск коррупции?
rsync
backup
concurrency
brianmearns
источник
источник
rsync
можно что-то сделать, может только снимок, но я больше беспокоюсь о повреждении файла.Ответы:
Использование
rsync
довольно безопасно для файловых систем, монтируемых для чтения и записи. Приrsync
запуске он создает список файлов, а затем начинает копировать эти файлы. Этот список файлов не обновляется во время выполнения. Фактические данные затем копируются.Это означает, что когда файл изменяется после
rsync
создания списка файлов, он будет копировать новое содержимое. Однако, когда новый файл добавляется после того, какrsync
построил свой список файлов, этот новый файл не копируется. Если файл будет удален послеrsync
создания списка файлов, rsync предупредит, что не может скопировать этот файл. Имейте в виду, чтоrsync
это не снимок, это означает, что трудно сказать, в какой момент времениrsync
скопированы данные.С другой стороны, моментальные снимки файловой системы или менеджера томов (например, с использованием ZFS или LVM) создаются мгновенно и представляют собой согласованный снимок файловой системы в четко определенный момент времени, который затем можно скопировать на другой хост.
rsync
не предлагает такого рода согласованности.РЕДАКТИРОВАТЬ: Как отмечали другие в комментариях, есть шанс, что
rsync
может на самом деле испортить ваш файл. Когда rsync начинает читать файл, и приложение одновременно пишет этот файл, вы можете получить поврежденный файл.источник