Mertcan GÖKGÖZ
Takip Et
Horus Teknoloji, Sistem Uzmanı & DevOps & Python
· 2 dak. Okunur

Linux/Unix Sistemlerde Tar komutunun kullanılması

belkide linuxun 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 sorunsuzudur.

tar kodu linux sistemlerde dosya arşivlemeye yarar komut ile dizindeki dosyaları tek bir arşiv içinde birleştirebilirsiniz.windows da oldupu gibi dosyaları sıkıştırabilirsiniz. tar,gzip,bzip işlemlerinizide 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ı 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 1 ve dosya 2 deki tüm içeriği backup.tar şeklinde arşivliyecektir.

Örnek 2 dosyaları çıkartmak

tar  xpvf   backup.tar  -C   /tmp/

yukarıdaki komut backup dosyasını ctmp klasörüne çıkartıcaktır.

Ö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ıpda içerisindeki belli dosyaların yedeğinizin 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 yedekliyecek ve belirlenen diğer txt deki dosyaları yedeklemeyecek yani exclude.txt dekileri.