Linux dosya yedeklerinin Tar gz ile sıkıştırılarak alınması.

Linux işletim sistemi üzerinde herhangi bir klasörün yedeği alınmak isteniyor ise aşağıdaki komut kullanılabilir.

Hedef Dosya : /media/external/backup.tar.gz
Kaynak Dosya :  /srv
Hedef disk formatı için parametre : --one-file-system (Dosyanın kaydedileceği disk farklı formatta ise eklenir ör:NTFS USB disk)

tar -cvzf /media/external/backup.tar.gz --one-file-system /srv

c - Yeni bir yedek dosya oluşturulacağını gösterir.
v - Yedek alınırken dosyaları ekranda gösterir.
p - pdosyaların alındığı andaki yetkileri kaydeder. Tekrar açıldığında aynı yetkiler gelir.
z - gzip ile dosyanın sıkıştırlmasını sağlar.
f <dosya adı> - Dosya adının yazıldığı yerdir.

Dosya adında tarih bilgisinin de olması isteniyor ise dosya ismi bölümüne $(date +%d%m%y) parametresi eklenir.

tar -cvzf /media/external/backup_$(date +%d%m%y).tar.gz --one-file-system /srv

Bu komutu yazdığınızda "Argument list too long" şeklinde hata alıyorsanız;

bash: /bin/tar: Argument list too long

 Dosya listesi çok uzun demektir. Bu durumda dosya isinlerini bir txt dosyasına yazarak tar komutu ile çağırabilirsiniz.

Txt dosyasını oluşturmak için;

find . -type f -name "*.log" > dosya.txt

*.log yeride listelenecek dosya uzantınızı yazmalısınız. Dosyayı çağırmak için;

tar -cvf sıkıştırılmısdosya.tar --files-from dosya.txt

Şeklinde kullanılabilir.

www.Serkan.Net

Google