Давайте подивимось, як працює rsync та краще зрозуміємо критичні лінії результатів:
1 - Величезна перевага rsync полягає в тому, що після перерви наступного разу він продовжується плавно.
Наступне виклик rsync не передасть файли, які вони вже перенесли, якщо вони тим часом не були змінені. Але він з самого початку почне перевірку всіх файлів, щоб дізнатися, оскільки не знає, що він був перерваний.
2 - Кожен символ є код , який може бути переведений , якщо ви будете читати розділ -i, --itemize-changes
вman rsync
Розшифровка вашого файлу журналу прикладу з питання:
> f.st ......
> - the item is received
f - it is a regular file
s - the file size is different
t - the time stamp is different
.d..t ......
. - the item is not being updated (though it might have attributes
that are being modified)
d - it is a directory
t - the time stamp is different
> f ++++++++++
> - the item is received
f - a regular file
+++++++++ - this is a newly created item
Відповідна частина сторінки rsync man:
-i, --поміркувати-змінювати
Попрошує простий деталізований список змін, які вносяться до кожного файлу, включаючи зміни атрибутів. Це точно те саме, що вказати --out-format = '% i% n% L'. Якщо ви повторите параметр, також будуть виводитися незмінені файли, але лише якщо приймаюча rsync має принаймні версію 2.6.7 (ви можете використовувати -vv зі старими версіями rsync, але це також вмикає висновок інших багатослівних mes- мудреці).
Втеча "% i" має виразний вихід, який становить 11 літер. Загальний формат схожий на рядок YXcstpoguax, де Y замінюється типом оновлення, яке робиться, X замінюється типом файлу, а інші букви представляють атрибути, які можуть бути виведені, якщо вони змінюються.
Типи оновлень, які замінюють Y, наступні:
- Це
<
означає, що файл передається віддаленому хосту (надсилається).
- Це
>
означає, що файл передається локальному хосту (отримано).
- Це
c
означає, що для елемента відбувається локальна зміна / створення (наприклад, створення каталогу або зміна символьної посилання тощо).
- Це
h
означає, що елемент є твердим посиланням на інший елемент (вимагає - тверді посилання).
- Це
.
означає, що елемент не оновлюється (хоча він може мати атрибути, які змінюються).
- Це
*
означає, що в решті області деталізованого виводу міститься повідомлення (наприклад, "видалення").
Типи файлів, які замінюють X, це: f
для файлу, d
для каталогу, L
для символьної посилання, D
для пристрою та S
спеціального файлу (наприклад, названі сокети та фіфоси).
Інші літери в рядку вище - це фактичні літери, які будуть виведені, якщо асоційований атрибут для елемента оновлюється або "". без змін. Три винятки з цього: (1) новостворений елемент замінює кожну букву на "+", (2) ідентичний елемент замінює точки пробілами, і (3) невідомий атрибут замінює кожну букву на "?" (це може статися під час розмови зі старшим rsync).
Атрибут, який асоціюється з кожною буквою, такий:
- Це
c
означає, що звичайний файл має іншу контрольну суму (вимагає --checksum) або що символьний посилання, пристрій або спеціальний файл мають змінене значення. Зауважте, що якщо ви надсилаєте файли до rsync до 3.0.1, цей прапор зміни буде присутній лише для звичайних файлів, що відрізняються контрольною сумою.
- Засіб
s
розмір звичайного файлу відрізняється, і він буде оновлюватися передачею файлу.
- Засіб
t
означає, що час модифікації відрізняється і оновлюється до значення відправника (вимагає - разів). Альтернативне значення T означає, що час модифікації буде встановлено на час передачі, що відбувається, коли файл / symlink / пристрій оновлюється без - times і коли симпосилання змінюється і приймач не може встановити свій час. (Примітка. При використанні клієнта rsync 3.0.0 ви можете побачити прапор s в поєднанні з t замість відповідного прапора T для цього невдалого встановлення часу.)
p
Чи означає дозвіл різному і оновлюються на значення відправника (потрібно --perms).
- Засіб
o
власник інший і оновлюється до значення відправника (вимагає - власника та привілеїв суперкористувача).
- Засіб
g
означає, що група інша і оновлюється до значення відправника (вимагає --group та повноваження встановлювати групу).
u
Слот зарезервований для використання в майбутньому.
- Це
a
означає, що інформація про ACL змінилася.
- Це
x
означає, що інформація про розширений атрибут змінилася.
Можливий і інший вихід: при видаленні файлів "% i" видасть рядок "* видалення" для кожного видаленого елемента (якщо припустити, що ви говорите з досить недавним rsync, що він записує видалення замість виведення їх як багатослівне повідомлення).