دستور tar (مخفف عبارت tap archive) در لینوکس یک فایل فشرده نیست؛ بلکه معمولاً به عنوان یک مجموعه (که شامل تعداد زیادی از فایلها است) از یک فایل واحد خوانده میشود.
tar رایجترین دستور در لینوکس برای ایجاد یک فایل بایگانی است که چندین فایل، پوشه و سایر فرمتهای فایل (zip، gzip، bzip2 و tar) را در یک فایل ذخیره مینماید. بسیاری از ما به طور مکرر از سه عملیات create ،list و extract و دو گزینه file و verbose با استفاده از دستور tar در جهت پشتیبانگیری و بازیابی دادهها استفاده میکنیم.
علاوهبراین میتوانیم از دستورات gzip و bzip2 برای فشردهسازی بیشتر فایل بایگانی از نوع tar استفاده نماییم. نه تنها مدیران سرور از دستور tar برای پشتیبانگیری (کامل و افزایشی) از سرور استفاده میکنند، بلکه سایر برنامههای پشتیبانگیری نیز از دستور tar برای تهیه نسخه پشتیبان استفاده مینمایند.
فایلها و پوشهها را میتوانید در هر زمان که بخواهید، از روی فایل بایگانی بازیابی کنید.
مدیران سرور باید با دستور tar آشنایی داشته و از آن برای تهیه یک نسخه پشتیبان مناسب استفاده نمایند.
به طور پیش فرض دستور tar در بیشتر توزیعهای لینوکس وجود دارد؛ بنابراین میتوان آن را به سادگی از مخزن رسمی سیستم عامل خود نصب نمود.
در این مقاله قصد داریم به شما نشان دهیم، چگونه میتوانید از دستور tar برای اهداف مختلف استفاده کنید.
به تناسب توزیع لینوکس خود میتوانید از دستور مناسب برای نصب این ابزار استفاده کنید:
[Install Tar on RHEL/CentOS/Fedora]
$ sudo yum install tar
[Install Tar on Fedora] 22 and later]
$ sudo dnf install tar
[Install Tar on Debian/Linux Mint/Ubuntu]
$ sudo apt-get install tar
[Install Tar on openSUSE]
$ sudo zypper in tar
[Install Tar on Mageia]
$ sudo urpmi tar
[Install Tar on Arch based distro]
$ sudo pacman -S tar
ساختار اصلی دستور tar به صورت زیر میباشد:
tar -[options] [/backup-location/backup-filename] /[webcontent-location]
گزینههای متداول در دستور tar در ادامه شرح داده شده است:
z: فایل پشتیبان را با فرمت "gzip" فشرده میکند تا اندازه آن کوچک شود.
c: یک بایگانی پشتیبان جدید ایجاد میکند.
v: فایلهایی را که پردازش شده اند، به همراه جزئیات لیست مینماید.
p: مجوز فایلهای موجود در بایگانی را برای زمان پس از استخراج از حالت بایگانی حفظ میکند.
f: نام فایل بایگانی را مشخص مینماید.
x: فایل بایگانی را استخراج میکند.
t: محتوای فایل بایگانی را نمایش میدهد.
j: فایل را با فرمت bzip2 بایگانی مینماید.
r: فایل یا پوشه جدیدی را در فایل بایگانی موجود اضافه میکند.
W: محتوای یک فایل بایگانی را وارسی مینماید.
P: فایل پشتیبان را با “present umask” فشرده میکند.
C: مسیر استخراج فایل بایگانی را تعیین مینماید.
wildcards: گروهی از فایلها را از فایل بایگانی استخراج میکند.
این مطلب نیز ممکن است برای شما مفید باشد: چگونه خطای stdin: not in gzip format را حل کنیم؟
1) نحوه ایجاد فایل بایگانی tar
در مثال زیر، از کلیه محتوای دایرکتوری 2daygeek در فایل 2daygeek-backup-17-Dec-2013.tar پشتیبان تهیه شده و فایل پشتیبان در دایرکتوری /backup/site-backup/ ذخیره میشود.
tar -cvf /backup/site-backup/2daygeek-backup-17-Dec-2013.tar /home/2daygeek
/home/2daygeek/
/home/2daygeek/etc/
/home/2daygeek/.bashrc
/home/2daygeekc/public_html/
/home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
/home/2daygeekc/public_html/captca/form.php
/home/2daygeekc/public_html/captca/monofont.ttf
/home/2daygeekc/public_html/captca/error_log
/home/2daygeekc/public_html/colorlover.php
/home/2daygeekc/public_html/userfunctions.php
/home/2daygeekc/public_html/.htaccess
2) نحوه ایجاد فایل بایگانی tar.gz
مثال زیر، از کلیه محتوای دایرکتوری 2daygeek با فرمت فشرده gzip (گزینه z باعث میشود که سایز tar کوچک شود) در فایل 2daygeek-backup-17-Dec-2013.tar.gz پشتیبان تهیه کرده و فایل پشتیبان را در دایرکتوری /backup/site-backup/ ذخیره مینماید.
# tar -zcvf /backup/site-backup/2daygeek-backup-17-Dec-2013.tar.gz /home/2daygeek
/home/2daygeek/
/home/2daygeek/etc/
/home/2daygeek/.bashrc
/home/2daygeekc/public_html/
/home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
/home/2daygeekc/public_html/captca/form.php
/home/2daygeekc/public_html/captca/monofont.ttf
/home/2daygeekc/public_html/captca/error_log
/home/2daygeekc/public_html/colorlover.php
/home/2daygeekc/public_html/userfunctions.php
/home/2daygeekc/public_html/.htaccess
3) نحوه ایجاد فایل بایگانی tar.bz2
در مثال زیر، از کلیه محتوای دایرکتوری 2daygeek با قالب فشردهسازی bzip2 (گزینه j اندازه tar را کوچک میکند. این روش در مقایسه با فشردهسازی gzip بسیار بهتر است) در فایل 2daygeek-backup-17-Dec-2013.tar.gz نسخه پشتیبان تهیه کرده و فایل پشتیبان را در دایرکتوری /backup/site-backup/ ذخیره مینماید.
# tar -jcvf /backup/site-backup/2daygeek-backup-17-Dec-2013.tar.bz2 /home/2daygeek
/home/2daygeek/
/home/2daygeek/etc/
/home/2daygeek/.bashrc
/home/2daygeekc/public_html/
/home/2daygeekc/public_html/2nd_feb usernameCheck.php
/home/2daygeekc/public_html/captca/
/home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
/home/2daygeekc/public_html/captca/form.php
/home/2daygeekc/public_html/captca/monofont.ttf
/home/2daygeekc/public_html/captca/error_log
/home/2daygeekc/public_html/colorlover.php
/home/2daygeekc/public_html/userfunctions.php
/home/2daygeekc/public_html/.htaccess
خروجی:
تا اینجا سه قالب بایگانی tar ،tar.gz و tar.bz2 ایجاد کرده و در /backup/site-backup/ قرار داده ایم. در خروجی زیر تفاوت این فرمتها را بهتر درک خواهیم کرد.
در خروجی زیر تفاوتهای بسیاری در قالب بایگانی tar.bz2. در مقایسه با دیگر قالبها قابل مشاهده است. bzip2 یک روش فشردهسازی داده با کیفیت بالا است. این روش به طور معمول فایلها را تا 10 الی 15 درصد با کیفیتتر از سایر روشها فشردهسازی مینماید.
# ll -h
total 72M
drwxr-xr-x 2 root root 4.0K Dec 17 05:57 ./
drwxr-xr-x 3 root root 4.0K Dec 17 05:28 ../
-rw-r--r-- 1 root root 58M Dec 17 05:33 2daygeek-backup-17-Dec-2013.tar
-rw-r--r-- 1 root root 5.4M Dec 17 05:57 2daygeek-backup-17-Dec-2013.tar.bz2
-rw-r--r-- 1 root root 8.3M Dec 17 05:48 2daygeek-backup-17-Dec-2013.tar.gz
4) نمایش محتوای فایل بایگانی tar.bz2
اگر میخواهید لیست فایلها و پوشههای موجود در فایل بایگانی tar.bz2. را بدون استخراج آن از حالت فشرده مشاهده کنید، از دستور زیر استفاده نمایید.
tar -jtvf /backup/site-backup/2daygeek-backup-17-Dec-2013.tar.bz2
drwx--x--x 2daygeek/2daygeek 0 2013-12-14 01:00 home/2daygeek/
drwxr-x--- 2daygeek/mail 0 2013-04-29 06:15 home/2daygeek/etc/
-rw-r--r-- 2daygeek/2daygeek 124 2013-02-21 21:09 home/2daygeek/.bashrc
drwxr-x--- 2daygeek/nobody 0 2013-09-25 09:07 home/2daygeekc/public_html/
-rw-r--r-- 2daygeek/2daygeek 52418 2013-04-29 08:29 home/2daygeekc/public_html/2nd_feb usernameCheck.php
drwxr-xr-x 2daygeek/2daygeek 0 2013-04-29 08:31 home/2daygeekc/public_html/captca/
-rw-r--r-- 2daygeek/2daygeek 2084 2013-04-29 08:31 home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
-rw-r--r-- 2daygeek/2daygeek 1120 2013-04-29 08:31 home/2daygeekc/public_html/captca/form.php
-rw-r--r-- 2daygeek/2daygeek 41036 2013-04-29 08:31 home/2daygeekc/public_html/captca/monofont.ttf
-rw-r--r-- 2daygeek/2daygeek 4587 2013-04-29 08:31 home/2daygeekc/public_html/captca/error_log
-rw-r--r-- 2daygeek/2daygeek 710 2013-04-29 08:29 home/2daygeekc/public_html/colorlover.php
-rw-r--r-- 2daygeek/2daygeek 4730 2013-04-29 08:29 home/2daygeekc/public_html/userfunctions.php
-rw-r--r-- 2daygeek/2daygeek 17787 2013-09-25 07:37 home/2daygeekc/public_html/.htaccess
-rw-r--r-- 2daygeek/2daygeek 691 2013-04-29 08:29 home/2daygeekc/public_html/reddit.php
5) لیست محتوای فایل بایگانی tar.
اگر میخواهید لیست فایلها و پوشههای موجود در فایل بایگانی tar. را بدون استخراج آن نمایش دهید، از دستور زیر استفاده نمایید.
tar -tvf /backup/site-backup/2daygeek-backup-17-Dec-2013.tar
drwx--x--x 2daygeek/2daygeek 0 2013-12-14 01:00 home/2daygeek/
drwxr-x--- 2daygeek/mail 0 2013-04-29 06:15 home/2daygeek/etc/
-rw-r--r-- 2daygeek/2daygeek 124 2013-02-21 21:09 home/2daygeek/.bashrc
drwxr-x--- 2daygeek/nobody 0 2013-09-25 09:07 home/2daygeekc/public_html/
-rw-r--r-- 2daygeek/2daygeek 52418 2013-04-29 08:29 home/2daygeekc/public_html/2nd_feb usernameCheck.php
drwxr-xr-x 2daygeek/2daygeek 0 2013-04-29 08:31 home/2daygeekc/public_html/captca/
-rw-r--r-- 2daygeek/2daygeek 2084 2013-04-29 08:31 home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
-rw-r--r-- 2daygeek/2daygeek 1120 2013-04-29 08:31 home/2daygeekc/public_html/captca/form.php
-rw-r--r-- 2daygeek/2daygeek 41036 2013-04-29 08:31 home/2daygeekc/public_html/captca/monofont.ttf
-rw-r--r-- 2daygeek/2daygeek 4587 2013-04-29 08:31 home/2daygeekc/public_html/captca/error_log
-rw-r--r-- 2daygeek/2daygeek 710 2013-04-29 08:29 home/2daygeekc/public_html/colorlover.php
-rw-r--r-- 2daygeek/2daygeek 4730 2013-04-29 08:29 home/2daygeekc/public_html/userfunctions.php
-rw-r--r-- 2daygeek/2daygeek 17787 2013-09-25 07:37 home/2daygeekc/public_html/.htaccess
-rw-r--r-- 2daygeek/2daygeek 691 2013-04-29 08:29 home/2daygeekc/public_html/reddit.php
6) لیست محتوای فایل بایگانی tar.gz
اگر میخواهید لیست فایلها و پوشههای موجود در فایل بایگانی tar.gz. را بدون استخراج آن نمایش دهید، از دستور زیر استفاده کنید.
tar -ztvf /backup/site-backup/2daygeek-backup-17-Dec-2013.tar.gz
drwx--x--x 2daygeek/2daygeek 0 2013-12-14 01:00 home/2daygeek/
drwxr-x--- 2daygeek/mail 0 2013-04-29 06:15 home/2daygeek/etc/
-rw-r--r-- 2daygeek/2daygeek 124 2013-02-21 21:09 home/2daygeek/.bashrc
drwxr-x--- 2daygeek/nobody 0 2013-09-25 09:07 home/2daygeekc/public_html/
-rw-r--r-- 2daygeek/2daygeek 52418 2013-04-29 08:29 home/2daygeekc/public_html/2nd_feb usernameCheck.php
drwxr-xr-x 2daygeek/2daygeek 0 2013-04-29 08:31 home/2daygeekc/public_html/captca/
-rw-r--r-- 2daygeek/2daygeek 2084 2013-04-29 08:31 home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
-rw-r--r-- 2daygeek/2daygeek 1120 2013-04-29 08:31 home/2daygeekc/public_html/captca/form.php
-rw-r--r-- 2daygeek/2daygeek 41036 2013-04-29 08:31 home/2daygeekc/public_html/captca/monofont.ttf
-rw-r--r-- 2daygeek/2daygeek 4587 2013-04-29 08:31 home/2daygeekc/public_html/captca/error_log
-rw-r--r-- 2daygeek/2daygeek 710 2013-04-29 08:29 home/2daygeekc/public_html/colorlover.php
-rw-r--r-- 2daygeek/2daygeek 4730 2013-04-29 08:29 home/2daygeekc/public_html/userfunctions.php
-rw-r--r-- 2daygeek/2daygeek 17787 2013-09-25 07:37 home/2daygeekc/public_html/.htaccess
-rw-r--r-- 2daygeek/2daygeek 691 2013-04-29 08:29 home/2daygeekc/public_html/reddit.php
این مطلب نیز ممکن است برای شما مفید باشد: فشرده سازی فایل ها با استفاده از gzip
7) لیست محتوای فایل بایگانی tbz.
اگر میخواهید لیست فایلها و پوشههای موجود در فایل بایگانی tbz. را بدون استخراج آن نمایش دهید، از دستور زیر استفاده کنید.
tar -jtvf /backup/site-backup/2daygeek-backup-17-Dec-2013.tbz
drwx--x--x 2daygeek/2daygeek 0 2013-12-14 01:00 home/2daygeek/
drwxr-x--- 2daygeek/mail 0 2013-04-29 06:15 home/2daygeek/etc/
-rw-r--r-- 2daygeek/2daygeek 124 2013-02-21 21:09 home/2daygeek/.bashrc
drwxr-x--- 2daygeek/nobody 0 2013-09-25 09:07 home/2daygeekc/public_html/
-rw-r--r-- 2daygeek/2daygeek 52418 2013-04-29 08:29 home/2daygeekc/public_html/2nd_feb usernameCheck.php
drwxr-xr-x 2daygeek/2daygeek 0 2013-04-29 08:31 home/2daygeekc/public_html/captca/
-rw-r--r-- 2daygeek/2daygeek 2084 2013-04-29 08:31 home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
-rw-r--r-- 2daygeek/2daygeek 1120 2013-04-29 08:31 home/2daygeekc/public_html/captca/form.php
-rw-r--r-- 2daygeek/2daygeek 41036 2013-04-29 08:31 home/2daygeekc/public_html/captca/monofont.ttf
-rw-r--r-- 2daygeek/2daygeek 4587 2013-04-29 08:31 home/2daygeekc/public_html/captca/error_log
-rw-r--r-- 2daygeek/2daygeek 710 2013-04-29 08:29 home/2daygeekc/public_html/colorlover.php
-rw-r--r-- 2daygeek/2daygeek 4730 2013-04-29 08:29 home/2daygeekc/public_html/userfunctions.php
-rw-r--r-- 2daygeek/2daygeek 17787 2013-09-25 07:37 home/2daygeekc/public_html/.htaccess
-rw-r--r-- 2daygeek/2daygeek 691 2013-04-29 08:29 home/2daygeekc/public_html/reddit.php
8) نحوه ایجاد فایل بایگانی tbz. با مجوز
در مثال زیر، از کل محتوای دایرکتوری 2daygeek با مجوز User-ID & Group-ID و فرمت فشردهسازی bzip2. (گزینه j باعث کوچک شدن اندازه tar میشود) در فایل 2daygeek-backup-17-Dec-2013.tbz نسخه پشتیبان گرفته شده و فایل پشتیبان در دایرکتوری /backup/site-backup/ ذخیره میشود.
tar -jcvpf /backup/site-backup/2daygeek-backup-17-Dec-2013.tbz /home/2daygeek
/home/2daygeek/
/home/2daygeek/etc/
/home/2daygeek/.bashrc
/home/2daygeekc/public_html/
/home/2daygeekc/public_html/2nd_feb usernameCheck.php
/home/2daygeekc/public_html/captca/
/home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
/home/2daygeekc/public_html/captca/form.php
/home/2daygeekc/public_html/captca/monofont.ttf
/home/2daygeekc/public_html/captca/error_log
/home/2daygeekc/public_html/colorlover.php
/home/2daygeekc/public_html/userfunctions.php
/home/2daygeekc/public_html/.htaccess
9) افزودن فایلها و دایرکتوریها به فایل بایگانی موجود
برای اضافه کردن فایلها و پوشههای جدید به فایل بایگانی موجود، از مثال زیر استفاده کنید که در آن از گزینه r- برای افزودن فایلها استفاده شده است. در این مثال، میخواهیم فایل magesh.html و دایرکتوری mageshm را اضافه کنیم.
tar -rvf /backup/site-backup/2daygeek-backup-17-Dec-2013.tar magesh.html mageshm
توجه داشته باشید، نمیتوانید فایل یا دایرکتوریها را به یک بایگانی فشرده شده مانند، tar.gz و tar.bz2 اضافه کنید. اگر اصرار به اضافه کردن داشته باشید، با پیام خطای زیر رو به رو میشوید.
tar -jrvf /backup/site-backup/2daygeek-backup-23-nov-2013.tar.bz2 magesh.html
tar: Cannot update compressed archives
برای اطلاعات بیشتر از "tar-help" یا "tar -usage" استفاده نمایید.
10) استخراج فایل بایگانی tar
برای استخراج فایل بایگانی tar. از مثال زیر استفاده کنید. در اینجا برای استخراج فایل بایگانی tar از گزینه x- استفاده شده است.
اگر میخواهید فایل بایگانی tar را در هر مکان خاصی استخراج نمایید، از همان فرمت زیر استفاده کرده و مسیر home/magesh/2daygeek/ را به مسیر دلخواه خود تغییر دهید.
برای استخراج فایل بایگانی در دایرکتوری فعلی، از همان دستور زیر و گزینه c- بدون مسیر مقصد home/magesh/2daygeek/ استفاده کنید.
tar -xvf 2daygeek-backup-17-Dec-2013.tar -C /home/magesh/2daygeek
home/2daygeek/
home/2daygeek/etc/
home/2daygeek/.bashrc
home/2daygeekc/public_html/
home/2daygeekc/public_html/2nd_feb usernameCheck.php
home/2daygeekc/public_html/captca/
home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
home/2daygeekc/public_html/captca/form.php
home/2daygeekc/public_html/captca/monofont.ttf
home/2daygeekc/public_html/captca/error_log
home/2daygeekc/public_html/colorlover.php
home/2daygeekc/public_html/userfunctions.php
home/2daygeekc/public_html/.htaccess
11) استخراج فایل بایگانی tar.gz
برای استخراج فایل بایگانی tar.gz. از مثال زیر استفاده کنید. در اینجا برای استخراج فایل بایگانی tar از گزینه x- استفاده شده است.
اگر میخواهید فایل بایگانی tar را در هر مکان خاصی استخراج کنید، از همان فرمت زیر استفاده کنید؛ ولی مسیر home/magesh/2daygeek/ را به مسیر مورد نظر خود تغییر دهید.
برای استخراج فایل بایگانی در دایرکتوری کنونی، از دستور زیر و گزینه c- بدون مسیر مقصد home/magesh/2daygeek/ استفاده کنید.
tar -xzvf 2daygeek-backup-17-Dec-2013.tar.gz -C /home/magesh/2daygeek
home/2daygeek/
home/2daygeek/etc/
home/2daygeek/.bashrc
home/2daygeekc/public_html/
home/2daygeekc/public_html/2nd_feb usernameCheck.php
home/2daygeekc/public_html/captca/
home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
home/2daygeekc/public_html/captca/form.php
home/2daygeekc/public_html/captca/monofont.ttf
home/2daygeekc/public_html/captca/error_log
home/2daygeekc/public_html/colorlover.php
home/2daygeekc/public_html/userfunctions.php
home/2daygeekc/public_html/.htaccess
12) استخراج فایل بایگانی tar.bz2
برای استخراج فایل بایگانی tar.bz2. از مثال زیر استفاده کنید. در اینجا برای استخراج فایل بایگانی tar از گزینه x- استفاده شده است.
اگر میخواهید فایل بایگانی tar را در هر مکان خاصی استخراج کنید، از فرمت زیر استفاده کنید و مسیر home/magesh/2daygeek/ را به مسیر مورد نظر خود تغییر دهید.
برای استخراج فایل بایگانی در دایرکتوری فعلی، از دستور زیر به همراه گزینه c-؛ ولی بدون مسیر مقصد home/magesh/2daygeek/ استفاده کنید.
tar -xjvf 2daygeek-backup-17-Dec-2013.tar.bz2 -C /home/magesh/2daygeek
home/2daygeek/
home/2daygeek/etc/
home/2daygeek/.bashrc
home/2daygeekc/public_html/
home/2daygeekc/public_html/2nd_feb usernameCheck.php
home/2daygeekc/public_html/captca/
home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
home/2daygeekc/public_html/captca/form.php
home/2daygeekc/public_html/captca/monofont.ttf
home/2daygeekc/public_html/captca/error_log
home/2daygeekc/public_html/colorlover.php
home/2daygeekc/public_html/userfunctions.php
home/2daygeekc/public_html/.htaccess
این مطلب نیز ممکن است برای شما مفید باشد: چگونه فایل های gz را باز کنم؟
13) استخراج یک فایل از فایل بایگانی tar.
شاید در مواقعی شما بخواهید فقط یک فایل خاصی را از فایل بایگانی tar استخراج نمایید، برای این موارد میتوانید از مثال زیر استفاده کرده و به جای magesh.html نام فایل خود را قرار دهید.
tar -xvf 2daygeek-backup-17-Dec-2013.tar magesh.html
خروجی:
همانطور که در شکل زیر مشاهده میکنید، فایل magesh.html از فایل بایگانی tar استخراج و در همان مکان ذخیره شده است.
ll -h
total 81M
drwxr-xr-x 2 root root 4.0K Dec 17 07:22 ./
drwxr-xr-x 3 root root 4.0K Dec 17 05:28 ../
-rw-r--r-- 1 root root 58M Dec 17 06:33 2daygeek-backup-17-Dec-2013.tar
-rw-r--r-- 1 root root 7.4M Dec 17 05:57 2daygeek-backup-17-Dec-2013.tar.bz2
-rw-r--r-- 1 root root 8.3M Dec 17 05:48 2daygeek-backup-17-Dec-2013.tar.gz
-rw-r--r-- 1 root root 7.4M Dec 17 06:09 2daygeek-backup-17-Dec-2013.tbz
-rw-r--r-- 1 magesh magesh 53 Dec 17 06:29 magesh.html
14) استخراج یک فایل از زیردایرکتوری فایل بایگانی tar
شاید در مواقعی شما بخواهید، فقط فایل خاصی را از فایل بایگانی tar استخراج کنید. در این صورت میتوانید از مثال زیر استفاده کرده و نام فایل خود را به جای index.html قرار دهید.
tar --extract --file=2daygeek-backup-17-Dec-2013.tar /home/2daygeek/tmp/webalizerftp/index.html
15) استخراج چندین فایل از فایل بایگانی tar
نه تنها یک فایل، بلکه بیش از یک فایل نیز از فایل بایگانی tar قابل استخراج هستند. بدین منظور میتوان از مثال زیر استفاده کرده و نام فایل خود را به جای "magesh.html" "ramesh.html" قرار دهید.
مثال زیر فایل magesh.html & ramesh.html را از فایل بایگانی tar. استخراج میکند.
tar -xvf 2daygeek-backup-17-Dec-2013.tar "magesh.html" "ramesh.html"
magesh.html
ramesh.html
خروجی:
همانطور که مشاهده میکنید، فایلهای magesh.html و ramesh.html از بایگانی tar استخراج و در همان مکان ذخیره شده است.
# ll -h
total 81M
drwxr-xr-x 2 root root 4.0K Dec 17 08:35 ./
drwxr-xr-x 3 root root 4.0K Dec 17 05:28 ../
-rw-r--r-- 1 root root 58M Dec 17 08:33 2daygeek-backup-17-Dec-2013.tar
-rw-r--r-- 1 root root 7.4M Dec 17 05:57 2daygeek-backup-17-Dec-2013.tar.bz2
-rw-r--r-- 1 root root 8.3M Dec 17 05:48 2daygeek-backup-17-Dec-2013.tar.gz
-rw-r--r-- 1 root root 7.4M Dec 17 06:09 2daygeek-backup-17-Dec-2013.tbz
-rw-r--r-- 1 magesh magesh 53 Dec 17 06:29 magesh.html
-rw-r--r-- 1 magesh magesh 17 Dec 17 08:32 ramesh.html
16) استخراج گروهی از فایلها با استفاده از Wildcard
شاید در مواردی بخواهید گروهی از فایلها را از فایل بایگانی tar استخراج کنید. در چنین مورادی میتوانید از مثال زیر استفاده کرده و پسوند فایل مورد نظر خود را جایگزین html. نمایید.
در مثال زیر میخواهیم گروهی از فایلها را که با الگوی html. مطابقت دارد از فایل بایگانی tar استخراج کنیم.
tar -xvf 2daygeek-backup-17-Dec-2013.tar --wildcards '*.html'
home/2daygeekc/public_html/37.99.html
home/2daygeekc/public_html/57.99.html
home/2daygeek/tmp/analog/11.html
home/2daygeek/tmp/analog/5.html
home/2daygeek/tmp/analog/12.html
home/2daygeek/tmp/analog/9.html
home/2daygeek/tmp/analog/10.html
magesh.html
ramesh.html
17) نحوه ایجاد فایل بایگانی tar.gz و حذف یک دایرکتوری خاص
اگر برای یک دایرکتوری نخواهید از هیچ یک از فایلهای آن (به عنوان مثال فایلهای ویدیویی) نسخه پشتیبان تهیه کنید، میتوانید آن دایرکتوری را حذف نمایید. بدین منظور دایرکتوری مورد نظر را با استفاده از گزینه exclude-- ذکر کرده و دایرکتوری خود را به جای /home/2daygeek/demo قرار دهید و سپس اطلاعات مورد نیاز را نیز اضافه نمایید.
در مثال زیر میخواهیم کل دایرکتوری demo را حذف کنیم و سپس بقیه فایلها و پوشهها را بایگانی نماییم.
tar --exclude=’/home/2daygeek/demo’ -zcvpf /backup/site-backup/2daygeek-backup-17-Dec-2013.tar.gz
/home/2daygeek
/home/2daygeek/
/home/2daygeek/etc/
/home/2daygeek/.bashrc
/home/2daygeekc/public_html/
/home/2daygeekc/public_html/2nd_feb usernameCheck.php
/home/2daygeekc/public_html/captca/
/home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
/home/2daygeekc/public_html/captca/form.php
/home/2daygeekc/public_html/captca/monofont.ttf
/home/2daygeekc/public_html/captca/error_log
/home/2daygeekc/public_html/colorlover.php
/home/2daygeekc/public_html/userfunctions.php
/home/2daygeekc/public_html/.htaccess
18) نحوه ایجاد فایل بایگانی tar.gz و حذف گروهی از فایلها
اگر نمیخواهید از فایلهایی مانند فایلهای mp3. و avi. نسخه پشتیبان تهیه نمایید، میتوانید گروه فایلها را از هر دایرکتوری حذف نمایید. بدین منظور نام آن دایرکتوری را با پسوند فایل مورد نظر ذکر کرده و با کمک گزینه exclude-- آنها را حذف نمایید. سپس به جای home/2daygeek/demo دایرکتوری خود را جایگزین کرده و اطلاعات لازم را نیز اضافه نمایید.
در مثال زیر میخواهیم فایلهای mp3 & .avi را از فهرست demo حذف کنیم و سپس سایر فایلها و پوشهها را بایگانی نماییم.
tar --exclude=’/home/2daygeek/demo/*.avi’ –exclude=’/home/2daygeek/demo/*.mp3' -zcvpf /backup
/site-backup/2daygeek-backup-23-nov-2013.tar.gz /home/2daygeek
/home/2daygeek/
/home/2daygeek/etc/
/home/2daygeek/.bashrc
/home/2daygeekc/public_html/
/home/2daygeekc/public_html/2nd_feb usernameCheck.php
/home/2daygeekc/public_html/captca/
/home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
/home/2daygeekc/public_html/captca/form.php
/home/2daygeekc/public_html/captca/monofont.ttf
/home/2daygeekc/public_html/captca/error_log
/home/2daygeekc/public_html/colorlover.php
/home/2daygeekc/public_html/userfunctions.php
/home/2daygeekc/public_html/.htaccess
19) نحوه تأیید فایل بایگانی tar
شما میتوانید فایل بایگانی tar ایجاد شده توسط خود را با استفاده از گزینه w- تأیید کنید، تا اعتبارسنجی نمایید که آیا به درستی ایجاد شده است یا خیر. توجه داشته باشید که فایلهای بایگانی tar.gz و tar.bz2 را نمیتوان اعتبارسنجی کرد و در این صورت با یک پیام خطا روبهرو میشوید.
tar tvfW 2daygeek-backup-17-Dec-2013.tar
tar: This does not look like a tar archive
tar: Skipping to next header
Verify ---------- 505/505 52418 1970-01-01 01:00 home/2daygeekc/public_html/2nd_feb usernameCheck.php
tar: home/2daygeekc/public_html/2nd_feb usernameCheck.php: Warning: Cannot stat: No such file or directory
Verify d--------- 505/505 0 1970-01-01 01:00 home/2daygeekc/public_html/captca/
tar: home/2daygeekc/public_html/captca: Warning: Cannot stat: No such file or directory
Verify ---------- 505/505 2084 1970-01-01 01:00 home/2daygeekc/public_html/captca/CaptchaSecurityImages.php
tar: home/2daygeekc/public_html/captca/CaptchaSecurityImages.php: Warning: Cannot stat: No such file or directory
Verify ---------- 505/505 1120 1970-01-01 01:00 home/2daygeekc/public_html/captca/form.php
tar: home/2daygeekc/public_html/captca/form.php: Warning: Cannot stat: No such file or directory
Verify ---------- 505/505 41036 1970-01-01 01:00 home/2daygeekc/public_html/captca/monofont.ttf
tar: home/2daygeekc/public_html/captca/monofont.ttf: Warning: Cannot stat: No such file or directory
Verify ---------- 505/505 4587 1970-01-01 01:00 home/2daygeekc/public_html/captca/error_log
20) نحوه بررسی اندازه فایلهای بایگانی tar ،tar.gz و tar.bz2
برای بررسی اندازه هر فایل بایگانی tar ،tar.gz و tar.bz2 از دستور زیر استفاده کنید.
root@2daygeek [/backup/site-backup]# tar -czf - 2daygeek-backup-17-Dec-2013.tar | wc -c
8657681
root@2daygeek [/backup/site-backup]# tar -czf - 2daygeek-backup-17-Dec-2013.tar.gz | wc -c
8276311
root@2daygeek [/backup/site-backup]# tar -czf - 2daygeek-backup-17-Dec-2013.tar.bz2 | wc -c
7695961
منبع:
0 دیدگاه
نوشتن دیدگاه