rsync ile çıktı formatını düzenleme: pratik ipuçları ve ince noktalar

0 Ответов 6 Просмотров
Оценившие
Участники
Автор темы #1
[rant]
İş akışında rsync kullanırken çıktının okunabilirliğini ve zorunlu bilgilerinin netleşmesini sağlamak, hata ayıklamayı hızlandırır. Aşağıda karşılaşılan tipik durumlar ve bunları nasıl ele alabileceğinle ilgili, adım adım bir rehber sunuyorum. Her bölümde somut örnekler ve güvenli kullanıma dönük öneriler bulacaksın.

1) Temel çıktı biçimini kontrol etmek
  • rsync, varsayılan olarak değişiklikleri iskelet halinde listeler ve ilerlemeyi gösterir. Çıktıyı sadeleştirmek için --quiet (-q) veya --itemize-changes (-i) parametrelerinin kombinasyonunu kullanabilirsin.
  • --itemize-changes, dosya seviyesinde hangi kategori değiştiğini (örneğin rispetto, perms, size) gösterir ve çıktı satırları belirli sütunlarla formatlanır. Bu sütunlar anlaşılır, fakat daha özelleştirilmiş bir görünüm istersen awk veya sed ile filtreleyebilirsin.


2) Değişiklik özetini özelleştirmek
  • --stats veya --summary ile özet bir rapor alınabilir. Ancak çok ayrıntıya girmek istersen çıktı akışını kendi filtrelerinle işlemek daha verimlidir.
  • Örnek: rsync -a --itemize-changes /kaynak /hedef | awk '/^/{print $0}' komutu, sadece değişim içeren satırları gösterir.


3) Çıktıyı dosyaya yönlendirmek ve log tutmak
  • Büyük senkronizasyonlarda log kaydı tutmak faydalıdır: rsync -a --itemize-changes /src /dst > rsync_log.txt 2>&1
  • Log dosyasını zaman damgası ile saklamak istersen: rsync -a --itemize-changes /src /dst > "rsync_$(date +%F_%T).log" 2>&1


4) İnsan okunabilir format için çıktı temizliği
  • Whitespace ve renkler konusunda terminal ayarların da etkili olur. --color=auto ile renkli çıktıyı kullanırken, çıktıyı metin olarak başka işleme sokacaksan renkleri filtrelemek gerekir.
  • Renkli çıktı verirken, ANSI renk kodlarını filtrelemeden kaydetmek istersen: rsync -a --itemize-changes --color=auto /src /dst | sed -r 's/\x1B\[[0-9;]*m//g' > rsync_plain.log


5) Özelleştirilmiş filtrelerle hedefe özel çıktı
  • -f 'hide,!protect' gibi filtreler çıktı akışını daraltır. Çıktıyı tamamen sessiz tutup yalnızca değişiklikleri görmek için -q ile birlikte -i modunu kullanmak mümkün.
  • Örnek: rsync -a --itemize-changes -q /kaynak/ /hedef/


6) Kriptik veya özel alanlar için güvenlik dikkate alınması
  • Çıktıda yol adları, izinler gibi bilgiler varsa loglar güvenli yerde saklanmalı. Özellikle paylaşılan ortamlarda erişim kontrolleri ve dosya izinlerini dikkate almak gerekir.


Sonuç olarak, çıktının okunabilirliğini artırmak için --itemize-changes ile ayrıntıyı koruyabilir, --stats ile özetleri ekleyebilir ve çıktıyı gerektiğinde log dosyalarına yönlendirebilirsin. Ayrıca çıktı filtrasyonu için temel filtre ve awk/sed kullanımıyla kendi ihtiyaçlarına göre bir “görüntü şablonu” oluşturmak mümkün. Bu yaklaşım, hangi dosyaların ne şekilde değiştiğini hızlıca anlamanı sağlar.

Bu konuya dair kendi kullandığın komut dizilimini ya da karşılaştığın en büyük zorluğu paylaşmak ister misin?

Чтобы ответить, необходимо войти в систему.

Пользователи, просматривающие эту тему (Всего: 1, Участники: 1, Гости: 0)
Всего: 1 (участники: 1, гости: 0)
0 цитат выбрано