صاحب الموضوع
#1
Tar ile hariç tutulan dizinlerle arşivleme
Bir tar arşivini hazırlarken hangi yollarla hariç tutmalar yapılabilir?
Sonuç olarak, arşivleme sırasında hangi dizinlerin hariç tutulacağı konusunda net bir liste çıkarmak, desenleri dikkatle seçmek ve gerektiğinde hariç tutma dosyasıyla yönetmek en temiz ve güvenilir yöntemi sunar. Bu yaklaşım, büyük projelerde temiz arşivler elde etmek ve gereksiz içeriklerden tasarruf etmek için yaygın ve pratiktir.
Bu konu, tar komutunun —exclude veya --exclude-from kullanarak belirli dizinleri hariç tutarak nasıl güvenilir arşivler oluşturabileceğini, pratik örneklerle adım adım incelemeyi amaçlar. Özellikle büyük projelerde, derleme çıktıları, geçici dosyalar veya kaynak dışı klasörler arşiv dışı bırakılarak daha temiz ve daha hızlı yedekler elde etmek mümkün olur. Burada hem temel kullanımı hem de ileri teknikleri, performans ve güvenlik açısından ele alacağım.
Bir tar arşivini hazırlarken hangi yollarla hariç tutmalar yapılabilir?
- Basit hariç tutma: tar -czf arşiv.tar.gz --exclude='path/to/dir' -C /kaynak/dizin . şeklinde, tarama yapılacak kök dizin ve hedef arşiv adımı netleşir. Örneğin bir proje kökünde derleme çıktıları ve geçici dosyalar varsa, bu dizinleri tek tek belirtmek performans üzerinde olumlu etkiler sağlar.
- Çoklu hariç tutma: --exclude ile birden çok deseni eklemek mümkündür. tar -czf proje-arşivi.tar.gz --exclude='tmp/' --exclude='build/' --exclude='logs/*.log' -C /home/kullanici/proje . şeklinde, sık kullanılan kalıplar için desenler kullanılır. Ayrıca tar --exclude-from=.exclude-list ile dışarıdan bir dosyada desenleri toplu olarak yönetebilirsiniz.
- Dizin dışı değerler ve gizli dosyalar: Hariç tutma desenleri, kök dizinden başlayacak şekilde yazılırsa istenmeyen klasörler kolayca çıkarılır. Ancak bazı sistem dosyaları veya gizli klasörler özel olarak içerecek şekilde yönetilebilir; örneğin --exclude='/proc' veya --exclude='.*' gibi desenler dikkatle uygulanmalıdır, çünkü bu dosyalar arşive dahil olmazlar.
- İş akışında güvenlik ve performans: Özellikle üretim sunucularında, arşiv boyutu büyüdükçe tar’ın sıkıştırma modu ve çok çekirdekli tar’a uygun ayarlar performansı etkiler. -I/--ignore-case gibi desen eşleştirme ayarları da dikkat edilmelidir. Ayrıca arşiv dosyasını oluştururken hedefin yazma izinlerini kontrol etmek önemlidir; örneğin tar -czf arşiv.tar.gz --exclude='tmp' -C /var/www . komutu, sitenin kök dizininde çalışan bir arşiv için sık kullanılan bir kalıptır.
Alternatifler ve güvenilirlik: Eğer güvenlik gerektiren bir durumda çalışıyorsanız, tar arşivini tek bir sıkıştırma formatında tutmak yerine, gzip yerine xz veya zstd gibi daha yeni sıkıştırıcılara yönelmek arşiv boyutunu ve açılma hızını olumlu etkileyebilir. Ayrıca arşivi doğrulamak adına md5/sha256 özetleri üretmek, dosya bütünlüğünü kontrol etmek için iyi bir pratiktir.
Sonuç olarak, arşivleme sırasında hangi dizinlerin hariç tutulacağı konusunda net bir liste çıkarmak, desenleri dikkatle seçmek ve gerektiğinde hariç tutma dosyasıyla yönetmek en temiz ve güvenilir yöntemi sunar. Bu yaklaşım, büyük projelerde temiz arşivler elde etmek ve gereksiz içeriklerden tasarruf etmek için yaygın ve pratiktir.
