rsync --remove-source-файли видаляє вихідні файли по одному або після завершення rsync?


23

У програмі є команда rsync, яка копіює вміст папки на іншу машину. У мене є можливість, --remove-source-filesтому що мені цікаво лише мати файли на машині призначення після того, як rsync закінчиться.

Однак мені було цікаво, як поводиться rsync, якщо вона виходить з ладу або переривається під час передачі файлів?

Подумайте, у мене є два файли для синхронізації aта b. Чи буде rsync копіювати a, потім видалити її з джерела та почне копіювати b, чи буде чекати обох aта bбуде скопійовано на машину призначення перед видаленням обох? Я бачив, що ви можете налаштувати цю поведінку під час видалення сторонніх файлів за допомогою деяких прапорів, але нічого не знайшлося про видалення вихідних файлів.


схоже на stackoverflow.com/questions/7380234/…, хоча я думаю, що Кайл може бути правий - іноді здається, що rsync чекає завершення всіх файлів, але іноді видаляє файли перед завершенням. Ще трохи розгублений, хоча.
Chris2048

Відповіді:


16

Перевірка коду rsync виявляє, що вихідні файли видаляються під час їх надсилання, хоча це може статися не відразу. rsync мультиплексує свої операції, тому повідомлення про те, що файл успішно отримано (і тому його можна видалити), може бути забудовано за іншими даними.


2
Відповідно до моєї відповіді нижче, я спробував це з парою файлів, а файли були видалені лише у випадку успішної операції. Це змушує мене думати, що знайдений вами сигнал "передачі ОК" пронизаний лише тоді, коли завершена операція успішна.
Даніель Андерссон

5
Якщо ви спробуєте це з кількома файлами, ви побачите вихідні файли, що зникають до того, як буде здійснено всю передачу.
Кайл Джонс

виглядає так, що при вказівці каталогів та рекурсивної опції файли в а видаляються не відразу
Андре Хольцнер

4

Я спробував це (і ви теж легко могли це зробити, щоб бути впевненим). Вони видаляються після успішної передачі всіх файлів. Якщо передача перервана або виникає інша помилка, вихідні файли не видаляються, навіть якщо частина з них передана в порядку.

EDIT: відповідно до відповіді Кайла Джонса, справа може бути різною, якщо задіяно багато файлів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.