İkinci örnek, parti verilerini standart girdiyle okur, böylece parti dosyasının önce uzaktaki makineye kopyalanması gerekmez. Bu örnek, foo.sh betiğini değiştirdi, çünkü modifiye bir --read-batch seçeneği kullanması gerekiyordu, ancak kullanmak istiyorsanız, komut dosyasını düzenleyebilirsiniz (yalnızca başka bir seçeneğin standart kullanmaya çalışmadığından emin olun) "--exclude-from = -" seçeneği gibi girdiler).
Uyarılar:
Toplu iş seçeneği, güncelleştirdiği hedef ağacın, toplu güncelleştirme dosya kümesini oluşturmak için kullanılan hedef ağaçla aynı olmasını bekler. Hedef ağaçları arasındaki bir farkla karşılaşıldığında, güncelleme bir uyarıyla atılabilir (eğer dosya zaten güncel görünüyorsa) veya dosya güncellemesi denenebilir ve ardından dosya doğrulanamazsa , güncelleme bir hata ile atıldı. Bu, eğer komut kesilirse, bir toplu okuma işlemini tekrar çalıştırmanın güvenli olması gerektiği anlamına gelir. Toplu güncellemeyi, dosyanın boyutu ve tarihine bakılmaksızın her zaman denenmeye zorlamak istiyorsanız, -I seçeneğini kullanın (toplu okumayı okurken). Bir hata meydana gelirse, hedef ağaç muhtemelen kısmen güncellenmiş durumda olacaktır. Bu durumda,
Tüm hedeflerde kullanılan rsync sürümü, en azından toplu iş dosyasını oluşturmak için kullanılan sürüm kadar yeni olmalıdır. Toplu iş dosyasındaki protokol sürümü toplu okuma rsync'in işlemesi için çok yeni olduğunda, Rsync bir hatayla ölecektir. Ayrıca, daha eski bir rsync'in anlayabileceği bir toplu iş dosyası oluşturma rsync oluşturmasını sağlamanın bir yolu için --protocol seçeneğine bakın. (Toplu iş dosyalarının sürüm 2.6.3'te değiştiğine dikkat edin, bu nedenle sürümlerinden daha eski sürümlerle daha yeni sürümlerin karıştırılması çalışmaz.)
Bir toplu iş dosyasını okurken, rsync, toplu yazma komutuyla aynı şekilde ayarlamazsanız, toplu iş dosyasındaki verilerle eşleşmesi için belirli seçeneklerin değerini zorlar. Diğer seçenekler değiştirilebilir (ve gerekir). Örneğin --write-batch --read-batch olarak değişir, --files-from bırakılır ve --delete seçeneklerinden biri belirtilmedikçe --filter / - include / - exclude seçeneklerine gerek yoktur .
BATCH.sh dosyasını oluşturan kod, herhangi bir filtreyi / include / exclude seçeneklerini kabuk komut dosyasına "burada" bir belge olarak eklenmiş tek bir listeye dönüştürür. İleri düzey bir kullanıcı --delete tarafından silinen şeyde bir değişiklik yapılması isteniyorsa, dışlama listesini değiştirmek için bunu kullanabilir. Normal bir kullanıcı bu ayrıntıyı yok sayabilir ve yalnızca kabuk komut dosyasını, toplu veriler için uygun - okuma-toplu iş komutunu çalıştırmanın kolay bir yolu olarak kullanabilir.
Rsync'deki orijinal toplu iş modu "rsync +" 'ya dayanıyordu, ancak en son sürüm yeni bir uygulama kullanıyor.
remote destination is not allowed with --read-batch