پس از یک سال توسعه، انتشار سیستم پشتیبان 0.13 Restic ارائه شده است که ابزارهایی را برای ذخیره نسخه های پشتیبان در یک مخزن نسخه شده ارائه می دهد که می تواند بر روی سرورهای خارجی و در فضای ذخیره سازی ابری میزبانی شود. داده ها به صورت رمزگذاری شده ذخیره می شوند. میتوانید قوانین انعطافپذیری را برای گنجاندن و حذف فایلها و دایرکتوریها هنگام ایجاد پشتیبان تعریف کنید. پشتیبانی از کار بر روی Linux، macOS، Windows، FreeBSD و OpenBSD. کد پروژه در Go نوشته شده و تحت مجوز BSD توزیع می شود.
ویژگی های کلیدی:
- پشتیبانی از ذخیرهسازی نسخههای پشتیبان در یک سیستم فایل محلی، روی سرور خارجی با دسترسی از طریق SFTP/SSH یا HTTP REST، در Amazon S3، OpenStack Swift، BackBlaze B2، Microsoft Azure Blob Storage و Google Cloud Storage، و همچنین در هر فضای ذخیرهسازی که برای آنها backends rclone وجود دارد. همچنین میتوان از یک سرور استراحت ویژه برای سازماندهی فضای ذخیرهسازی استفاده کرد که عملکرد بالاتری را در مقایسه با سایر باطنها ارائه میدهد و میتواند در حالت فقط الحاقی کار کند، که به شما اجازه حذف یا تغییر نسخههای پشتیبان را نمیدهد، اگر سرور منبع و دسترسی به کلیدهای رمزگذاری وجود داشته باشد. در معرض خطر.
- پشتیبانی از تعریف قوانین انعطافپذیر برای حذف فایلها و دایرکتوریها هنگام ایجاد پشتیبان (به عنوان مثال، حذف گزارشها، فایلهای موقت، و دادههای به راحتی قابل تکرار از پشتیبانگیری). قالب قوانین نادیده گرفته شده آشنا است و شبیه rsync یا gitignore است.
- نصب، استفاده و بازیابی اطلاعات آسان است. برای کار با پشتیبان گیری کافی است یک فایل اجرایی را کپی کنید که بدون تنظیمات اضافی قابل استفاده است. یک ساخت قابل تکرار برای خود فایل اجرایی ارائه شده است که به شما این امکان را می دهد تا خودتان تأیید کنید که اسمبلی باینری از کد منبع ارائه شده تشکیل شده است.
- عکسهای فوری پشتیبانی میشوند، که وضعیت یک فهرست خاص را با همه فایلها و زیرشاخهها در یک نقطه زمانی خاص منعکس میکنند. هر بار که یک نسخه پشتیبان جدید ایجاد می شود، یک عکس فوری مرتبط ایجاد می شود که به شما امکان می دهد وضعیت را در آن لحظه بازیابی کنید. امکان کپی عکس های فوری بین مخازن مختلف وجود دارد.
- برای صرفه جویی در ترافیک، تنها داده های تغییر یافته در طول فرآیند پشتیبان گیری کپی می شوند. برای اطمینان از ذخیره سازی کارآمد، داده های موجود در مخزن تکراری نیستند و عکس های فوری اضافی فقط داده های تغییر یافته را پوشش می دهند. سیستم کل فایل ها را دستکاری نمی کند، بلکه بلوک های با اندازه شناور را با استفاده از امضای Rabin انتخاب می کند. اطلاعات در رابطه با محتوا ذخیره می شود، نه نام فایل (نام ها و اشیاء مرتبط با داده در سطح فراداده بلوک تعریف می شوند). بر اساس هش SHA-256 محتوا، کپی برداری انجام می شود و کپی غیر ضروری داده ها حذف می شود.
- برای ارزیابی بصری محتویات مخزن و ساده سازی بازیابی، می توان یک عکس فوری با یک نسخه پشتیبان را به شکل یک پارتیشن مجازی نصب کرد (نصب با استفاده از FUSE انجام می شود). دستوراتی برای تجزیه و تحلیل تغییرات و استخراج انتخابی فایل ها نیز ارائه شده است.
- اطلاعات روی سرورهای خارجی به صورت رمزگذاری شده ذخیره می شود (SHA-256 برای چک جمع ها، AES-256-CTR برای رمزگذاری استفاده می شود و کدهای احراز هویت مبتنی بر Poly1305-AES برای تضمین یکپارچگی استفاده می شود). این سیستم در ابتدا برای اطمینان از ذخیره نسخههای پشتیبان در محیطهای غیرقابل اعتماد طراحی شد و اگر نسخه پشتیبان به دست افراد اشتباه افتاد، نباید سیستم را به خطر بیندازد. رمزگذاری را می توان با استفاده از کلیدهای دسترسی و رمزهای عبور ارائه کرد.
- امکان تأیید نسخه پشتیبان با استفاده از چکسامها و کدهای احراز هویت وجود دارد تا اطمینان حاصل شود که یکپارچگی فایلها به خطر نمیافتد و فایلهای لازم قابل بازیابی هستند و شامل تغییرات پنهان نمیشوند.
در نسخه های جدید:
- پشتیبانی از الگوهای طرد منفی اضافه شده است. به عنوان مثال، "--exclude '/home/user/*' --exclude '!/home/user/.config'" برای حذف همه محتویات /home/user به جز فهرست /home/user/.config.
- حالت "--dry-run" به دستور "backup" اضافه شده است، که وقتی با گزینه "--verbose" اجرا می شود، به شما امکان می دهد بدون ایجاد هیچ تغییری، ردیابی کنید که کدام فایل ها در پشتیبان قرار می گیرند.
- پشتیبانی از چکسامها به پشتیبانهای مختلف ذخیرهسازی برای تأیید بیشتر دادههای دانلود شده اضافه شده است.
- دستور "بازیابی" بهینه شده است و باعث می شود دو برابر سریعتر کار کند. عملکرد دستور "کپی" نیز بهبود یافته است.
منبع: opennet.ru