ایجاد نسخه پشتیبان تهیه افزایشی و رمزگذاری شده با Duplicity

بررسی اجمالی

در حالی که Vultr از سیستم پشتیبان برای تصاویر کل سیستم استفاده می کند ، این سطح در سطح بلوک کار می کند و نیاز دارد که قبل از بازیابی اطلاعات ، نسخه پشتیبان تهیه شده به یک VM بازگردد. علاوه بر این ، نسخه پشتیبان تهیه شده فقط برای مدت کوتاهی ذخیره می شوند و یک راه حل پشتیبان افزایشی واقعی ارائه نمی دهد.

Duplicity را وارد کنید - Duplicity بر پایه rsync افسانه ای استوار است و امکان ذخیره سازی نسخه های پشتیبان افزایشی را به همراه رمزگذاری داده ها در حالت استراحت از طریق GPG فراهم می کند. این سازگار با Posix است ، و فقط delta را بین اجرای نسخه پشتیبان تهیه می کند ، بنابراین نیاز کلی پهنای باند را کاهش می دهد.

تنظیم محیط

واژه شناسی

  • منبع میزبان - سرور که از داده های خود نسخه پشتیبان تهیه می کند. برای این آموزش ، آدرس IP دارد: 10.1.10.1
  • پشتیبان گیری میزبان - سرور مقصد برای تهیه نسخه پشتیبان. برای این آموزش آدرس IP دارد: 10.1.10.2
  • / backupdir - دایرکتوری منبع در میزبان منبع مورد استفاده برای تهیه نسخه پشتیبان در این آموزش. برای مطابقت با محیط خود می توانید این کار را تغییر دهید.
  • / destdir - دایرکتوری مقصد در میزبان پشتیبان استفاده شده برای تهیه پشتیبان در این آموزش. برای مطابقت با محیط خود می توانید این کار را تغییر دهید.
  • پشتیبان گیری کامل - کپی کامل از مجموعه داده منبع.
  • نسخه پشتیبان تهیه نسخه پشتیبان - کلیه تغییرات ایجاد شده از آخرین نسخه پشتیبان را کپی کنید.

نصب Duplicity

اوبونتو 14.04:
sudo apt-get update
sudo apt-get install duplicity python-paramiko
CentOS (به EPEL نیاز دارد):
sudo yum install duplicity python-paramiko
اوبونتو 12.04 / دبیان 7:
sudo apt-get update 
sudo apt-get install ncftp python-paramiko python-pycryptopp lftp python-boto python-dev librsync-dev
wget https://launchpad.net/duplicity/0.7-series/0.7.02/+download/duplicity-0.7.02.tar.gz
tar xzvf duplicity*
cd duplicity*
sudo python setup.py install

ما باید از مبدأ نصب کنیم زیرا بسته Duplicity در Debian 7 و Ubuntu 12.04 به دلیل تغییر در کتابخانه SSH با کیفیت خراب است.

دوبار بررسی کنید که Duplicity با اجرای آن نصب شده است:

duplicity -v

باید خروجی زیر را برگرداند (نسخه ممکن است متفاوت باشد):

duplicity 0.6.18

تنظیم تأیید اعتبار کمتر برای SSH

مرحله بعدی تنظیم احراز هویت مبتنی بر گواهینامه برای SSH بین میزبان پشتیبان و میزبان منبع است. این کار باعث می شود که سرور منبع SSH را بدون وارد کردن یک عبارت عبور ، به هاست پشتیبان تهیه کند. Vultr مقاله خوبی دارد که چگونگی انجام این کار را توضیح می دهد: چگونه می توان کلیدهای SSH تولید کرد .

پشتیبان گیری

اجرای نسخه پشتیبان تهیه اولین (کامل)

بیایید یک نسخه پشتیبان کامل اجرا کنیم! با این کار کپی کامل از داده ها از سرور منبع به مقصد ارسال می شود.

duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/

با اضافه کردن چندین جمله می توانید پوشه های اضافی اضافه کنید --include="[dir]".

--no-encryptionمشخص می کند که داده است به در مقصد رمزگذاری شود. هنگام عبور از تونل SSH ، داده ها هنگام رمزگذاری رمزگذاری می شوند.

--exclude="**" /گزینه یک ترفند برای همه چیز پشتیبان گیری است که تنها در شامل لیست (و هیچ چیز دیگری) است.

تهیه نسخه پشتیبان تهیه افزایشی

اجرای یک نسخه پشتیبان تهیه افزایشی بسیار ساده است - فقط fullپرچم را به پرچم تغییر دهید incremental.

duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/

اتوماسیون

اسکریپت های خودکار را بنویسید

کشیدن این دستورات هر زمان که به نسخه پشتیبان نیاز دارید ، کشیدن است - اگر اسکریپت هایی داشتیم که بتوانیم آن را برای ما انجام دهیم؟

اسکریپت کامل پشتیبان

دستور را اجرا کنید.

nano /usr/local/bin/backup-full

محتوای زیر را اضافه کنید.

#!/bin/bash
duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
اسکریپت پشتیبان افزایشی
nano /usr/local/bin/backup-incremental

محتوای زیر را اضافه کنید.

#!/bin/bash
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
اسکریپت ها را عملی کنید

برای اجرای اسکریپت ها ، دستور زیر را اجرا کنید.

chmod +x /usr/local/bin/backup-*

اکنون می توانید با اجرای backup-fullو backup-incrementalاز داخل پوسته ، نسخه پشتیبان تهیه کنید . خیلی باحال!

cron را تنظیم کنید

بیایید نسخه پشتیبان را به صورت خودکار درست کنیم! با تنظیم cron برای اجرای اسکریپت های فوق در زمان های مشخص ، می توانیم اطمینان حاصل کنیم که تهیه نسخه پشتیبان در فواصل منظم انجام می شود.

دستور زیر را اجرا کنید.

crontab -e

موارد زیر را در انتهای پرونده اضافه کنید.

10 01 * * 1,2,3,4,5,6 backup-incremental
10 01 * * 7 backup-full

این یک نسخه پشتیبان کامل را هر یکشنبه یکشنبه ساعت 1:10 صبح اجرا می کند و هر روز دیگر در 1:10 AM از نسخه پشتیبان تهیه می کنید.

ترمیم

Godzilla سیاتل را از بین برد و ما باید بتوانیم داده ها را از نسخه پشتیبان تهیه VPS در نیویورک برگردانیم!

duplicity --no-encryption --file-to-restore / ssh://user@backupserver:22/destdir/

در صورت نیاز به بازیابی اطلاعات از 3 روز پیش:

duplicity --no-encryption -t 3D --file-to-restore / ssh://user@backupserver:22/destdir/

-t 3Dیعنی گزینه بازگرداندن پشتیبان از سه روز پیش. گزینه های مشابه مانند -t 1M(برای یک ماه پیش) یا -t 5H(برای 5 ساعت قبل) نیز کار می کنند.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد