گرفتن بکاپ از کل یک دایرکتوری در لینوکس
آیا تا به حال خواسته اید تا از کل یک دایرکتوری و زیردایرکتوری های ان بکاپ تهیه کنید ؟! انتخاب راه حلی که این عملیات را به صورت بازگشتی انجام دهد تا بتوانید اطاعات ان را در سیستمی دیگر مانند سیستم جازی باز گردانید ضروری خواهد بود.
دو دستور برای ما کارامد خواهد بود، که نام اولین دستور tar و دومین دستور gzip است. کامند tar از همه فایل ها و دایرکتوری ها فایل پشتیبانی تهیه میکند دستور gzip فایل های مارا فشرده میکند و حجم را کاهش میدهد.
چگونه از کل دایرکتوری بکاپ بگیریم ؟
با استفاده از دستور زیر از کل دایرکتوری ها و زیر دایرکتوری ها و فایلها که در پوشه ان قرار دارید بکاپ تهیه میکنید و در دایرکتوری جاری قرار میدهید.
1
|
tar –cvf backup.tar *
|
- ارگومان c : باید یک فایل جدید بسازی
- ارگومان v : اسم اختصاری از verbose گرفته شده و اطلاعات بیشتری در مورد عملیات به ما میدهد.
- ارگومان f : نام فایل ها را به ارشیو می دهد.
برای مثال من وارد پوشه tmp شده و از همه فایل ها بکاپ گرفتم. خروجی دستور رو مشاهده کنید :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root@localhost tmp]# tar -cvf backup.tar *
a.gz
hsperfdata_root/
hsperfdata_root/2926
ks–script–yhPvj9
ssh–5EiNFfzIDKNh/
tar: ssh–5EiNFfzIDKNh/agent.11847: socket ignored
ssh–8LFIX0GClbvZ/
tar: ssh–8LFIX0GClbvZ/agent.13688: socket ignored
systemd–private–CmNihj/
systemd–private–CmNihj/tmp/
systemd–private–gS1qJu/
systemd–private–gS1qJu/tmp/
systemd–private–QKTY5p/
systemd–private–QKTY5p/tmp/
systemd–private–uG8N4S/
systemd–private–uG8N4S/tmp/
systemd–private–uYa6vG/
systemd–private–uYa6vG/tmp/
systemd–private–zFqvjf/
systemd–private–zFqvjf/tmp/
vmware–root/
yum.log
yum_save_tx.2015–09–23.09–17.zaZGeu.yumtx
yum_save_tx.2015–09–23.10–42.dziCn6.yumtx
|
میتوانید با دستور ls -l فایل بکاپ گرفته شده را مشاهده کنید :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[root@localhost tmp]# ls -l
total 4156
–rw–r—r—. 1 root root 867439 Sep 23 01:59 a.gz
–rw–r—r—. 1 root root 1075200 Sep 24 10:15 backup
–rw–r—r—. 1 root root 2150400 Sep 24 10:17 backup.tar
drwxr–xr–x. 2 root root 17 Sep 18 03:41 hsperfdata_root
–rwx———. 1 root root 813 Sep 18 04:11 ks–script–yhPvj9
drwx———. 2 meysam meysam 24 Sep 20 22:59 ssh–5EiNFfzIDKNh
drwx———. 2 meysam meysam 24 Sep 18 00:19 ssh–8LFIX0GClbvZ
drwx———. 3 root root 16 Sep 18 04:32 systemd–private–CmNihj
drwx———. 3 root root 16 Sep 20 22:59 systemd–private–gS1qJu
drwx———. 3 root root 16 Sep 20 22:59 systemd–private–QKTY5p
drwx———. 3 root root 16 Sep 18 00:19 systemd–private–uG8N4S
drwx———. 3 root root 16 Sep 18 00:03 systemd–private–uYa6vG
drwx———. 3 root root 16 Sep 20 22:58 systemd–private–zFqvjf
drwx———. 2 root root 6 Sep 18 00:02 vmware–root
–rw———–. 1 root root 0 Sep 18 03:23 yum.log
–rw———–. 1 root root 714 Sep 23 09:17 yum_save_tx.2015–09–23.09–17.zaZGeu.yumtx
–rw———–. 1 root root 151289 Sep 23 10:43 yum_save_tx.2015–09–23.10–42.dziCn6.yumtx
[root@localhost tmp]#
|
برای فشرده سازی نیز باید از دستور زیر استفاده کنید :
1
|
gzip backup.tar
|
این دستور فایلی به نام backup.tar.gz ایجاد میکند.
نحوه بازیابی فایل یکاپ
بعد از انقال فایل به مقصد در ابتدا باید فایل tar که در مرحل قبل فشرده کردیم از حالت فشرده خارج کنیم :
1
|
gzip –d backup.tar.gz
|
- ارگومان d : این ارگومان برای خارج سازی فایل از حالت فشرده استفاده میشود.
برای برگرداندن فایل بکاپ باید از دستور زیر استفاده کنید. توجه داشته باشید این دستور فایل را همانند فایل مبدا برگردان میکند :
1
|
tar –xvf backup.tar
|
- ارگومان x : برای برگرداندن فایل بکاپ استفاده میشود و بلعکس c عمل میکند.
موفق باشید.