Я використовую rsync з такими прапорами, які легко запам'ятовуються як "glop" і "trunc" і "v".
rsync -gloptrunc $srcdir $dstdir
Короткий посібник:
- g - збереження інформації про право власності на групу
- l - копіювати посилання як символьні посилання
- o - збереження інформації про власника
- p - зберегти дозволи
- t - збереження міток часу
- r - повторення через каталоги
- u - оновлення, пропуск будь-яких нових файлів
- [n] - ні, не робіть цього, замість цього виконайте сухий пробіг
- c - контрольна сума, спроба контрольних сум на файлових блоках, коли це можливо (*)
Примітка: у локальних файлових системах це переосмислюється і замість цього копіюються цілі файли.
- v - багатослівний
Я завжди виконую вищевикладене, щоб переконатися, що воно працює, а потім видаляю прапор 'n', що колись я задоволений результатами.
Основні характеристики вищевказаних комбінацій:
- Я запускаю його в BOTH напрямках між двома (або більше) серверами, таким чином синхронізуючи BOTH напрямках. Ви оновлюєте те, що вважаєте господарем на той час.
- Це дозволяє або бути господарем, із суттєвим застереженням, що якщо ви хочете щось видалити, ви повинні видалити його на обох, щоб бути впевненим, що воно дійсно пішло, інакше воно повернеться.
Я використовую це для синхронізації двох машин або для синхронізації підрозділів (як резервне копіювання на USB-накопичувач).
Як і в одній з інших публікацій, заявлених раніше, контрольна сума може бути фактично вимкнена, якщо ви маєте справу з локальними накопичувачами.
У деяких рідкісних випадках мені доводилося додавати додаткові параметри для обліку змін в облікових записах для входу на віддалених машинах, зміни портів і навіть вказівки, де "rsync" живе на віддаленому хості ..., але вони безпосередньо не застосовуються до вашого питання.