Синхронізуйте зміни після останнього завершеного запуску
Godwit Sync сканує джерело й порівнює кожен ключ із завершеною базовою лінією SQLite. Він створює завдання копіювання для нових або змінених обʼєктів, позначає незмінені як пропущені та не звертається до призначення під час планування.
Інкрементальна синхронізація передає лише нові або змінені обʼєкти
--incremental починає з повної синхронізації, якщо SQLite не містить завершеного запуску для тієї самої пари джерела й призначення. Завершений запуск стає наступною базовою лінією, а запуск із незавершеними завданнями переходить у resume без створення нового плану.
- Порівнює розмір та ETag
- Зіставляє ID версій джерела
- Зберігає відсутні в джерелі обʼєкти
- Рахує лише скопійовані байти
# Inspect only the latest incremental planning pass
$ godwit plan inspect \
--run-id daily-backup \
--incremental \
--state-path ./godwit.state.db
# Abridged output
Plan Summary for Run: daily-backup
───────────────────────────────────
Status: completed
Job: 4
Objects:
Total: 82431
Finished: 37
Skipped: 82394
Failed: 0
Data:
Transferred: 12.80 GB
Left: 0 B
Total: 1.41 TBДеталі інкрементального планування
Як Godwit Sync виявляє, що змінилося?
Для кожного обʼєкта джерела Godwit Sync шукає в SQLite run ID, ключ та ID версії. Latest-режим застосовує вибрану політику метаданих, а версіонований режим вважає новий ID джерела новою версією.
Чи перевіряє інкрементальна синхронізація призначення повторно?
Ні, інкрементальне планування використовує завершену локальну базову лінію та не звертається до призначення. Запустіть godwit plan verify для перевірки контрольних сум або повну синхронізацію, якщо призначення могло змінитися поза Godwit Sync.
Чи переносяться видалення з джерела до призначення?
Ні, відсутній ключ не потрапляє до нового списку, тому попередній обʼєкт у призначенні залишається. Поточна реалізація інкрементальної синхронізації не видаляє обʼєкти призначення.
Як інкрементальний запуск використовує ліміт плану?
Godwit Sync повністю сканує джерело, але до ліміту на запуск входять лише байти нових або змінених завдань копіювання. Незмінені обʼєкти базової лінії не рахуються повторно.
Інші можливості
Використовуйте завершений запуск як базову лінію.
Використовуйте --plan-only для перегляду дельти й --override, коли обʼєкти latest-режиму можуть змінюватися.