بکاپ گیری با Rclone، Restic و Systemd
بکاپ‌ آموزش

بکاپ گیری با Rclone، Restic و Systemd روی WebDAV

بکاپ گیری با Rclone، Restic و Systemd

در ادامه ی مبحث بکاپ‎ گیری، در این مقاله، به بررسی نحوه پیکربندی یک سرویس پشتیبان‌گیری ساده با استفاده از ابزارهای Restic، Rclone و Systemd می‌پردازیم. این روش به شما امکان می‌دهد تا از داده‌های خود به‌صورت خودکار و منظم نسخه پشتیبان تهیه کنید و آن‌ها را در یک فضای ذخیره‌سازی مانند WebDAV یا سایر سرویس‌های مشابه ذخیره نمایید.

معرفی ابزارها:

  • Restic: یک ابزار خط فرمان برای پشتیبان‌گیری که از پروتکل‌های مختلفی مانند SFTP، Samba و S3 پشتیبانی می‌کند. این ابزار قابلیت ایجاد نسخه‌های پشتیبان، بازیابی آن‌ها، پاک‌سازی، مونت کردن snapshots برای مرور و امنیت داده‌ها از طریق رمزنگاری را فراهم می‌کند.
  • Rclone: یک ابزار خط فرمان برای ارسال، همگام‌سازی و مدیریت دایرکتوری‌های محلی یا راه دور. این ابزار می‌تواند به‌عنوان یک واسط برای اتصال Restic به سرویس‌هایی که به‌طور مستقیم پشتیبانی نمی‌شوند، مانند WebDAV، عمل کند.
  • Systemd: یک سیستم init و مدیر سرویس برای سیستم‌عامل‌های لینوکسی که امکان مدیریت سرویس‌ها و زمان‌بندی وظایف را فراهم می‌کند.

مراحل پیکربندی:

  1. پیکربندی Rclone : ابتدا باید Rclone را برای اتصال به فضای ذخیره‌سازی مورد نظر (مثلاً WebDAV) پیکربندی کنید. برای این کار، دستور زیر را اجرا کنید و یک اتصال جدید با نام دلخواه (مثلاً “nas”) ایجاد نمایید:

     rclone config

  2. ایجاد مخزن پشتیبان‌گیری با Restic: پس از پیکربندی Rclone، یک مخزن پشتیبان‌گیری در دایرکتوری مورد نظر (مثلاً “Backups”) ایجاد کنید:

    restic -r rclone:nas:Backups init

  3. ایجاد یک نسخه پشتیبان: برای ایجاد یک نسخه پشتیبان از دایرکتوری‌های مورد نظر (مثلاً “$HOME/Images”)، دستور زیر را اجرا کنید:

    restic -r rclone:nas:Backups backup $HOME/Images –verbose

  4. مدیریت نسخه‌های پشتیبان: برای حذف نسخه‌های قدیمی و مدیریت فضای ذخیره‌سازی، می‌توانید از دستور “forget” به همراه گزینه‌های مختلف استفاده کنید. به‌عنوان مثال، برای نگه‌داشتن نسخه‌های روزانه به مدت ۷ روز، نسخه‌های هفتگی به مدت ۴ هفته، نسخه‌های ماهانه به مدت ۶ ماه و نسخه‌های سالانه به مدت ۱ سال:

restic -r rclone:nas:Backups

forget –prune
–keep-daily 7
–keep-weekly 4
–keep-monthly 6
–keep-yearly 1

  1. ایجاد فایل‌های پیکربندی برای دایرکتوری‌ها و استثناها: برای ساده‌سازی مدیریت، می‌توانید فایل‌هایی برای لیست دایرکتوری‌های مورد نظر برای پشتیبان‌گیری و فایل‌هایی که باید استثنا شوند، ایجاد کنید. به‌عنوان مثال:

    echo “$HOME/Documents” >> ~/.config/backup.list
    echo “*.tmp” >> ~/.config/backup.exclude

سپس می‌توانید از این فایل‌ها در دستور پشتیبان‌گیری استفاده کنید

restic -r rclone:nas:Backups backup
–files-from ~/.config/backup.list
–exclude-file ~/.config/backup.exclude

  1. خودکارسازی پشتیبان‌گیری با Systemd: برای خودکارسازی فرآیند پشتیبان‌گیری، می‌توانید از سرویس‌ها و تایمرهای Systemd استفاده کنید. به‌عنوان مثال، یک فایل سرویس با نام “backup.service” ایجاد کنید:

[Unit]
Description=Backup Service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup-script.sh

سپس یک فایل تایمر با نام “backup.timer” ایجاد کنید:

[Unit]
Description=Run backup service daily

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

در نهایت، سرویس و تایمر را فعال کنید:

systemctl enable –now

backup.timer

با این پیکربندی، سیستم شما به‌صورت خودکار و منظم از داده‌های مشخص‌شده نسخه پشتیبان تهیه می‌کند و آن‌ها را در فضای ذخیره‌سازی مورد نظر ذخیره می‌نماید.

    دیدگاهتان را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *