بکاپ گرفتن از سرور با rsync
اگر به طور منظم از سرور خود نسخه پشتیبان تهیه نکنید، تقریباً هیچ راهی برای بازیابی فایل های از دست رفته ندارید. در نتیجه، نسخه های پشتیبان همیشه باید نقش مهمی در برنامه ریزی سرور شما داشته باشند. ابزار/پروتکل همگامسازی rsync یکی از راهحلهای پشتیبانگیری فراوان است.
rsync چیست و چه کاربردی دارد؟
نام rsync به پروتکل شبکه ای برای همگام سازی فایل ها اشاره دارد که در سال 1996 توسط اندرو تریجل (در میان دیگران) که پروژه سامبا را رهبری می کرد، توسعه یافت. علاوه بر پروتکل، ابزاری به همین نام وجود دارد که ارتباط روی پروتکل را تسهیل می کند. برنامه دارای مجوز GPL را می توان به صورت رایگان استفاده کرد و فایل ها را از یک فهرست منبع به دایرکتوری مورد نیاز – به صورت محلی یا از طریق یک شبکه عمومی منتقل می کند.
اندازه فایل و زمان ایجاد همه فایلها در پوشه مبدأ و هدف در طول همگامسازی با هم مقایسه میشوند، به طوری که هر فرآیند همگامسازی فقط فایلهای تغییر یافته را کپی میکند. به همین دلیل، فرآیند پشتیبان گیری rsync یک نوع پشتیبان گیری افزایشی نامیده می شود که این مزیت را ارائه می دهد که نسخه پشتیبان سریع است و فضای ذخیره سازی کمی را اشغال می کند.
rsync برای تمام سیستم عامل های استاندارد یونیکس مانند OS/2، Linux یا macOS در دسترس است. با استفاده از بستهبندی API Cygwin، میتوان از آن در ویندوز مایکروسافت نیز استفاده کرد.
سناریوهای استفاده معمول برای rsync شامل پشتیبان گیری از داده ها و تولید سرورهای آینه ای (تصاویر کامل سرور) و همچنین همگام سازی داده ها در شرکت هایی با مکان های مختلف و اتصالات داده ضعیف است. به طور خاص، عملکرد اخیر تقریباً به طور انحصاری توسط فناوریهای ابری مدرن امروزی انجام میشود – همچنین به این دلیل که اتصالات داده ضعیف به طور فزایندهای نادر میشوند.
بکاپ گرفتن از سرور : مروری بر مهمترین گزینه های rsync
ویژگی برجسته پشتیبان گیری rsync کارایی آنهاست. رویکرد افزایشی، استفاده از شبکه را به حداقل میرساند، که بهویژه برای فایلهای بزرگ یک مزیت است – صرف نظر از اینکه تغییرات در فایلها عمده یا حداقل باشد. به عنوان یک ابزار خط فرمان، rsync به طور پیش فرض از طریق ترمینال کنترل می شود – یا از طریق Command Prompt، اگر از rsync در یک دستگاه ویندوز استفاده می کنید. ورودی ها دارای نحو زیر هستند:
rsync -(-)Options Source path Target path
به عنوان مسیر منبع و مقصد، دایرکتوری شروع مربوطه و دایرکتوری را که می خواهید rsync برای ذخیره نسخه پشتیبان در آن قرار دهید، مشخص می کنید. میتوانید با استفاده از گزینههایی که به اختصار حروف یا نوشته شدهاند، تنظیمات جداگانهای را برای نسخههای پشتیبان rsync خود تعریف کنید.
جدول زیر مهمترین پارامترهایی را که می توان با یکدیگر ترکیب کرد خلاصه می کند:
Option | Function |
-r, –recursive | پشتیبان گیری rsync همه زیرشاخه ها را در نظر می گیرد |
-u, –update | دستورالعمل پرش از فایلهای جدیدتر در فهرست هدف نسبت به فهرست منبع |
-c, –checksum | فایل های منبع و هدف را بر اساس چک سام ها تشخیص می دهد |
-l, –links | پیوندهای نمادین به این صورت کپی می شوند (و نه به عنوان فایل) |
-p, –perms | مجوزهای فایل حفظ می شود |
-g, –group | مجوزهای فایل گروه حفظ می شود |
-t, –times | تمبرهای زمان فایل (آخرین تغییر) حفظ می شوند |
-o, –owner | مالکان فایل حفظ می شوند (فقط در صورتی که مدیران) |
-D, –devices | داده های دستگاه حفظ می شود |
-z, –compress | فشرده سازی خودکار فایل های منتقل شده |
–compress-level=NUM | سطح فشرده سازی را تعیین می کند. مقادیر (“NUM”) بین 0 (بدون فشرده سازی) و 9 (حداکثر فشرده سازی) امکان پذیر است |
-v, –verbose | جزئیات جامع تر در طول فرآیندهای پشتیبان گیری |
-q, –quiet | پنهان کردن تمام جزئیات فرآیند پشتیبان گیری (به جز پیام های خطا) |
-a, –archive | حالت آرشیو به عنوان حالت استاندارد و مشابه با ترکیب گزینه های -rlptgoD استفاده می شود |
-n, –dry-run | اجرای آزمایشی که در آن هیچ تغییر واقعی ایجاد نشده است |
-h, –help | منوی کمکی (فقط می تواند بدون نشان دادن دایرکتوری های منبع و مقصد یا آرگومان های دیگر استفاده شود) |
–bwlimit=KBPS | محدود کردن پهنای باند (کیلو بایت در ثانیه)؛ به عنوان مثال، –bwlimit=30 (محدودیت 30 کیلوبیت بر ثانیه) |
–exclude=SAMPLE | حذف یک الگو از همگام سازی؛ به عنوان مثال، – حذف پوشه نمونه (پوشه “پوشه نمونه” همگام سازی نشده است.) |
–delete | تمام فایل هایی که در دایرکتوری هدف هستند اما در دایرکتوری منبع نیستند را حذف کنید |
–progress | مدت زمان پشتیبان گیری rsync و سرعت انتقال را نشان دهید |
–list-only | لیست فایل ها به جای پشتیبان |
–stats | گزارش جامع داده های منتقل شده (تعداد، اندازه) |
–max-size=SIZE | حداکثر اندازه فایل را تعریف کنید. به عنوان مثال، –max-size=10MB (فقط فایل هایی با حجم تا 10 مگابایت منتقل می شوند.) |
–ignore-errors | از لغو فرآیند پشتیبان گیری در صورت بروز خطا جلوگیری کنید |
بکاپ گرفتن از سرور : راه اندازی یک نسخه پشتیبان rsync در سرورهای لینوکس
برای استفاده از rsync در سیستم عامل های لینوکس، پروتکل را در بسته ای به همین نام نصب کنید و با استفاده از دستورات ترمینال نسخه پشتیبان تهیه کنید. همچنین می توانید از برنامه هایی مانند Back In Time، rsnapshot (برای پشتیبان گیری خودکار معمولی) یا Unison برای کنترل فرآیند پشتیبان گیری از طریق یک رابط کاربری گرافیکی استفاده کنید. در مثال زیر با استفاده از اوبونتو، ما مهمترین مراحل برای راه اندازی فرآیندهای پشتیبان گیری با استفاده از rsync را به شما نشان می دهیم:
rsync به طور پیش فرض در اوبونتو نصب می شود. اگر اینطور نیست، با استفاده از دستور زیر آن را نصب کنید.
sudo apt-get install rsync
هنگامی که rsync نصب می شود، از دستورات ترمینال مورد نیاز برای تعیین دایرکتوری های منبع و مقصد و گزینه های پشتیبان استفاده کنید. به عنوان مثال، می توانید حالت استاندارد (“Archive”) را به صورت زیر اجرا کنید:
rsync -a Source directory Target directory
بکاپ گرفتن از سرور : 5 سناریو محبوب rsync پشتیبان گیری
هنگامی که دستورات اساسی را بدانید، rsync ابزاری برجسته برای کپی کردن فایل ها و تهیه نسخه پشتیبان است. میتوانید تنظیمات فرمان فردی را آزمایش و اعمال کنید یا از ترکیبات ثابت شده پارامترهای rsync موجود استفاده کنید. به عنوان مثال، سناریوهای پشتیبان گیری rsync زیر بسیار محبوب هستند:
پشتیبان گیری استاندارد با حالت آرشیو
حالت بایگانی که همه فایل ها را از دایرکتوری منبع به دایرکتوری هدف کپی می کند (شامل همه زیر شاخه ها) و کلیه مجوزها، مهرهای زمانی و داده های دستگاه را حفظ می کند، در بسیاری موارد ایده آل ترین و ساده ترین راه حل است. زیرا گزینه های مختلف را در یک فایل ترکیب می کند. تک پارامتر اگر حالت را با پارامتر –v ترکیب کنید، اطلاعات وضعیت جامعی را نیز در طول فرآیند پشتیبان گیری دریافت خواهید کرد.
rsync -av Source directory Target directory
کپی یکسان از دایرکتوری منبع
rsync نه تنها میتواند فایلها را از A به B منتقل کند، بلکه میتواند کپیهای یکسانی از پوشهها یا کل فهرستها ایجاد کند. پس از آرشیو استاندارد، فایل هایی که قبل از rsync در پوشه هدف قرار داشتند، اما در پوشه منبع نیستند، حذف می شوند.
rsync -av --delete Source directory Target directory
پشتیبان گیری به استثنای فایل هایی با فرمت خاص
اگر میخواهید یک نسخه پشتیبان به استثنای فایلها در قالب خاصی اجرا کنید، میتوانید از دستور –exclude برای این کار استفاده کنید. این پارامتر به شما امکان می دهد یک الگوی کاراکتر فردی را تعریف کنید، که rsync از آن به عنوان نشانگر برای نادیده گرفتن یک فایل استفاده می کند. کد نمونه زیر فایل های متنی .txt را حذف نمی کند.
rsync -av --exclude'*.txt' Source directory Target directory
پشتیبان گیری از فایل ها با حداقل یا حداکثر اندازه تعریف شده
اگر الگوی کاراکتر خاصی نمیخواهید، اما اندازه فایل بر حذف فایلهای خاص در یک نسخه پشتیبان rsync تأثیر میگذارد، میتوانید از پارامترهای –max-size و –min-size استفاده کنید. اگر از دستور زیر استفاده می کنید، فقط فایل های حداقل 10 مگابایت و حداکثر 100 مگابایت کپی می شوند:
rsync -av --min-size=10MB --max-size=100MB Source directory Target directory
پشتیبان گیری از جمله تبدیل فرمت کاراکتر
ممکن است مجبور شوید فایلها را به قالب کاراکتری متفاوت در فهرست هدف تبدیل کنید – برای مثال اگر میخواهید دادهها را از Mac به سرور لینوکس منتقل کنید. به طور استاندارد، دستگاههای اپل از UTF8-MAC استفاده میکنند که در سیستمهای لینوکس در دسترس نیست و باعث ایجاد مشکلاتی در کاراکترهای خاص و umlaut میشود. گزینه –iconv به شما امکان می دهد رمزگذاری کاراکتر را به عنوان بخشی از فرآیند پشتیبان گیری rsync به راحتی تطبیق دهید (در مثال از UTF8-MAC تا UTF8):
rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directory
بکاپ گرفتن از سرور
ترجمه شده توسط سایت دریای شرق از سایت
کپی بدون ذکر نام و لینک سایت دریای شرق ممنوع است !