گرفتن بکاپ از کل یک دایرکتوری در لینوکس
آیا تا به حال خواسته اید تا از کل یک دایرکتوری و زیردایرکتوری های ان بکاپ تهیه کنید ؟! انتخاب راه حلی که این عملیات را به صورت بازگشتی انجام دهد تا بتوانید اطاعات ان را در سیستمی دیگر مانند سیستم جازی باز گردانید ضروری خواهد بود.
دو دستور برای ما کارامد خواهد بود، که نام اولین دستور 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 عمل میکند.
موفق باشید.
دیدگاه ها
6 دیدگاه
بسیار عالی بود
از لطف شما سپاسگذارم
با سلام
چجوری میتونم از سرور مجازی خود که لینوکس centos هست یک بکاپ کامل بگیرم و روی یک سرور دیگه پیاده سازی بکنم
با عرض سلام;
این سوال بستگی به پاسخ شما به این سوالات دارد.
ایا میخواهید سایت خود را انتقال دهید یا به معنی دیگر سرور شما از سایت شما میزبانی میکند یا سرویس دیگری روی سرور سیستم عامل خود دارید که نیاز است خود سیستم عامل با تمامی تنظیمان و سرویس های در حال اجرا منتقل شود ؟
ایا از سرور مجازی استفاده میکنید یا سرور اختصاصی ؟!
ایا به مجازی ساز دسترسی دارید ؟! از چه مجازی سازی استفاده میکنید ؟!
—————————————
اگر میخواهید سایت خود را منتقل کنید میتوانید با تهیه Full Backup از طریق کنترول پنل سایت خود را به سرور دیگر انتقال دهید و اگر از پنل استفاده نمیکنید میتوانید با تهیه بکاپ از دیتابیس و فولدر public_html سایت خود را منتقل نمایید.
—————————————
در صورتی که تمایل دارید میتوانید از کل سرور لینوکسی خود درون خود لینوکس با ابزار dump که یک ابزار استاندارد است بکاپ تهیه نمایید. از ابزار های دیگر ارائه شده برای این کار نیز Clonezilla میباشد که یک image از سیستم عامل تهیه میکند.
—————————————
برای مجازی ساز esx نیز در ابتدا VM مورد نظر را off کرده سپس از مسیر File -> Export OVF Template فایل OVF را تولید نمایید، سپس از مسیر File -> Deploy OVF Template ان را بازیابی نمایید.
پیروز باشید.
با سلام و احترام
بنده سرور مجازی با مجازی سازی VMware دارم
چگونه میتونم یک ایمیج از کل سایت بگیرم تا در صورت نیاز به یک خدمات سرور جدید انتقال بدهم؟
کلی برنامه رو سرگرم نصب است که اگر بخوام دوباره در سرور جدید نصب کنم، هزینه بردار میشود
با تشکر از شما
برای انتقال سرور مجازی میتوانید از ان یک OVA یا OVF تهیه کرده سپس سرور مجازی به به سرور جدید انتقال دهید. یک سری ابزار نیز برای تهیه Image از سرور لینوکس موجود بوده که پس از نصب بر روی لینوکس از ان با توجه به نیاز شما بکاپ تهیه میکند.
ارسال دیدگاه