Другий приклад зчитує пакетні дані за допомогою стандартного введення, щоб пакетний файл не потрібно було скопіювати спочатку на віддалену машину. Цей приклад дозволяє уникнути сценарію foo.sh, оскільки йому потрібно було використовувати модифікований параметр --read-batch, але ви можете редагувати файл сценарію, якщо хочете використовувати його (просто будьте впевнені, що жоден інший варіант не намагається використовувати стандартний вхід, наприклад, опція "--exclude-from = -").
Застереження:
Параметр читання-пакет очікує, що дерево призначення, яке воно оновлює, буде ідентичним дереву призначення, яке було використано для створення набору файлів пакетного оновлення. При виявленні різниці між деревами призначення, оновлення може бути відмінено попередженням (якщо файл здається, що він уже оновлений), або може бути спроба оновлення файлу, а потім, якщо файл не вдасться перевірити , оновлення відхилено з помилкою. Це означає, що слід повторно запустити операцію зчитування пакетів, якщо команда була перервана. Якщо ви хочете змусити пакетне оновлення завжди намагатися здійснювати незалежно від розміру та дати файлу, використовуйте параметр -I (під час читання партії). Якщо виникла помилка, дерево призначення буде, ймовірно, частково оновленим. В такому разі,
Версія rsync, що використовується у всіх напрямках, повинна бути принаймні такою ж новою, як та, яка використовується для створення пакетного файлу. Rsync загине з помилкою, якщо версія протоколу у пакетному файлі надто нова, щоб rsync зчитування пакетного зчитування оброблявся. Дивіться також опцію --protocol, щоб створити rsync генерувати пакетний файл, який може зрозуміти старший rsync. (Зауважте, що пакетні файли змінили формат у версії 2.6.3, тому змішування версій, старших за версію з новішими версіями, не працюватиме.)
Читаючи пакетний файл, rsync змусить значення певних параметрів відповідати даним у пакетному файлі, якщо ви не встановили їх таким же, як команда batch write. Інші параметри можна (і повинні) змінити. Наприклад, --write-batch змінюється на --read-batch, --files-from випадає, і --filter / - include / - параметри виключення не потрібні, якщо не вказано один із параметрів --delete .
Код, який створює файл BATCH.sh, перетворює будь-який фільтр / включає / виключає параметри в єдиний список, який додається як "тут" документ до файлу сценарію оболонки. Досвідчений користувач може використовувати це для зміни списку виключень, якщо бажано змінити те, що видаляється --delete. Звичайний користувач може ігнорувати цю деталь і просто використовувати сценарій оболонки як простий спосіб запустити відповідну команду - read-batch для пакетних даних.
Початковий пакетний режим у rsync був заснований на "rsync +", але в останній версії використовується нова реалізація.
remote destination is not allowed with --read-batch