Cuma, Aralık 27, 2024

Linux/Unix Sistemlerde Tar komutunun kullanılması

yüksek çözünürlüklü linux görseli

Belkide linux’un temel komutları arasında gösterilebileceğimiz tar SSH üzerinden bizlere dosya sıkıştırma işlemlerini yapmamıza olanak sağlıyor pratik kolay ve hızlı olması açısından gui li sistemlerden iyidir ve en sorunsuzdur.

tar kodu linux sistemlerde dosya arşivlemeye yarar komut ile dizindeki dosyaları tek bir arşiv içinde birleştirebilirsiniz. Windows da olduğu gibi dosyaları sıkıştırabilirsiniz. tar, gzip, bzip işlemlerinizi de tar komutu ile rahatlıkla yapabilirsiniz. Sizlere bu makalemizde detaylı olarak tar komutlarının kullanımını göstermek istiyorum.

Kullanım Şekli

# tar  [options]  [name of tar file to be created] [list of files & directories to be included]

Komutlar

  1. -A, –catenate, –concatenate : bir arşive tar dosyası eklemenizi sağlar
  2. -c, –create : yeni arşiv oluşturur
  3. -d, –diff, –compare : arşiv ve dosya sistemi arasındaki farklılıkların tespiti
  4. –delete : Arşiv siler
  5. -r, –append : arşivin sonuna belirttiğiniz dosyaları ekler
  6. -t, –list : arşiv içerisindekileri listeler
  7. –test-label : arşivin test edilmesi işleminde kullanılır
  8. -u, –update : sadece kopyasını değil yenisini ekler
  9. -x, –extract, –get : arşivi dosyaya çıkartır.

komutlar bu şekildedir ama genelde farklı farklı kullanıldığı görülmektedir. alttaki örnekler ile daha iyi anlayacaksınız.

örnek 1 Arşiv oluşturmak

tar cvf /usr/backup.tar /dosya1 /dosya2

yukarıdaki komut dosya bir ve dosya iki deki tüm içeriği backup.tar şeklinde arşivleyecek.

Örnek 2 dosyaları çıkartmak

tar xpvf backup.tar -C /tmp/

yukarıdaki komut backup dosyasını /tmp klasörüne çıkartacak.

Örnek 3 Dosyaları çıkartmadan içeriğini listelemek

tar tvf /mnt/backup.tar

Örnek 4 tarih saat gün gibi parametreler ve gzip ile sıkıştırma tekniği

tar zcpvf /tmp/backup-$(date +%d-%m-%Y).tar.gz /dosya1 /dosya2

yada

tar zcpvf /tmp/backup-$(date +%d-%m-%Y).tgz /etc /usr

yukarıdaki komut ile tmp dosyası içine tarihli bir şekilde yedek alınabilir.

Örnek 5 bzip kullanarak sistemden yedek alma işlemi

tar jcpvf /tmp/backup-$(date +%d-%m-%Y).tar.bz2 /dosya1 /dosya2

yada

tar jcpvf /tmp/backup-$(date +%d-%m-%Y).tbz /dosya1 /dosya2

tmp dosyası içine tarih ve saat’li bir yedek alınması yapılabilir.

Örnek 6 tar komutu ile sıkıştırılmış dosyaların açılması

tar zxpvf /tmp/backup-13-08-2013.tgz -C /acılmasını istediğiniz yer

yada

tar jxpvf /tmp/backup-13-08-2013.tbz  -C /acılmasını istediğiniz yer

Örnek 7 arşivleri özel dosya ve dizinlere çıkartma işlemi

tar  jxpvf  backup-12-08-2013.tbz    etc/passwd

yada

tar jxpvf backup-12-08-2013.tbz    etc/apache2

Örnek 8 -r komutu ile mevcut arşiv için yeni dosya veya dizin eklemek

tar rvf  /tmp/backup-13-08-2013.tar   smc-0.2.0-38

yedek içerisine belirlemiş olduğunu dosyayı eklemek için kullanılır.

Örnek 9 yedek alırken belirli dosyaların hariç tutulması

tar  -zcpvf   etc-$(date +%d-%m-%Y).tgz  --exclude /etc/sysconfig/network-scripts/  /etc/

Görüldüğü gibi /etc klasöründen yedek alıyor ancak /etc/sysconfig/network-scripts yedeklenmiyor. Bir dizinin yedeğini almak zorunda kalıpta içerisindeki belli dosyaların yedek boyutunu şişirmesini istemiyorsanız işte bu kod tam size göre

tar  -zcpvf   etc-$(date +%d-%m-%Y).tgz  -X  /root/exclude.txt   /etc/

içerik hakkında bilgi edinilebilir.

Örnek 10 tar yedekleri ile -X - T Seçenekleri

  • -T: adlara göre ayıklama işlemi
  • -X: dosyadaki listelenen hariç

Bazen, yedeklenecek dosya ve yedekten dışlanacak bazı dosyaları belirtmek isteyebilirsiniz.

oluşturun /root/include.txt

/etc
/home

oluşturun /root/exclude.txt

/etc/sysconfig/network-scripts
/etc/fstab

Şimdide aşağıdaki komutu kullanarak yedek almaya çalışın

tar -zcpvf backup-$(date +%d-%m-%Y).tgz -T /root/include.txt -X /root/exclude.txt

bu komut txt dosyası içinde belirttiğiniz dosya ve dizinleri include.txt demiştik yedekleyecek ve belirlenen diğer txt deki dosyaları yedeklemeyecek yani exclude.txt de olanlar.