Drugi przykład odczytuje dane wsadowe za pomocą standardowego wejścia, dzięki czemu plik wsadowy nie musi być najpierw kopiowany na komputer zdalny. W tym przykładzie unika się skryptu foo.sh, ponieważ musiał on użyć zmodyfikowanej opcji --read-batch, ale można edytować plik skryptu, jeśli chcesz go użyć (po prostu upewnij się, że żadna inna opcja nie próbuje użyć standardowego dane wejściowe, takie jak opcja „--exclude-from = -”).
Ostrzeżenia:
Opcja odczytu-partii oczekuje, że drzewo docelowe, które aktualizuje, będzie identyczne z drzewem docelowym, które zostało użyte do utworzenia zestawu plików aktualizacji wsadowej. W przypadku napotkania różnicy między drzewami docelowymi aktualizacja może zostać odrzucona z ostrzeżeniem (jeśli wydaje się, że plik jest już aktualny) lub może zostać podjęta próba aktualizacji pliku, a następnie, jeśli plik nie zostanie zweryfikowany aktualizacja została odrzucona z błędem. Oznacza to, że należy ponownie uruchomić operację odczytu i odczytu, jeśli polecenie zostało przerwane. Jeśli chcesz wymusić, aby zawsze wykonywano aktualizację pakietową, niezależnie od rozmiaru i daty pliku, użyj opcji -I (podczas odczytywania partii). Jeśli wystąpi błąd, drzewo docelowe prawdopodobnie będzie w stanie częściowo zaktualizowanym. W tym wypadku,
Wersja rsync używana we wszystkich miejscach docelowych musi być co najmniej tak nowa, jak wersja użyta do wygenerowania pliku wsadowego. Rsync umrze z błędem, jeśli wersja protokołu w pliku wsadowym jest zbyt nowa, aby obsłużyć rsync do odczytu wsadowego. Zobacz także opcję --protocol, aby dowiedzieć się, jak utworzyć rsync podczas tworzenia pliku wsadowego, który może zrozumieć starszy rsync. (Należy pamiętać, że pliki wsadowe zmieniły się formalnie w wersji 2.6.3, więc mieszanie starszych wersji z nowszymi wersjami nie będzie działać).
Podczas odczytywania pliku wsadowego rsync wymusi na wartości niektórych opcji dopasowanie danych w pliku wsadowym, jeśli nie ustawiono ich na takie same jak polecenie zapisu wsadowego. Inne opcje można (i należy) zmienić. Na przykład --write-batch zmienia się na --read-batch, --files-from jest usuwany, a opcje --filter / - include / - exclude nie są potrzebne, chyba że określono jedną z opcji --delete .
Kod tworzący plik BATCH.sh przekształca wszelkie opcje filtru / włączania / wykluczania w pojedynczą listę, która jest dołączana jako dokument „tutaj” do pliku skryptu powłoki. Zaawansowany użytkownik może użyć tego do zmodyfikowania listy wykluczeń, jeśli pożądana jest zmiana w tym, co zostanie usunięte przez --delete. Normalny użytkownik może zignorować ten szczegół i po prostu użyć skryptu powłoki jako łatwego sposobu uruchomienia odpowiedniej komendy --read-batch dla partii danych.
Oryginalny tryb wsadowy w rsync był oparty na „rsync +”, ale najnowsza wersja używa nowej implementacji.
remote destination is not allowed with --read-batch