در ادامه ی مبحث بکاپ گیری، در این مقاله، به بررسی نحوه پیکربندی یک سرویس پشتیبانگیری ساده با استفاده از ابزارهای Restic، Rclone و Systemd میپردازیم. این روش به شما امکان میدهد تا از دادههای خود بهصورت خودکار و منظم نسخه پشتیبان تهیه کنید و آنها را در یک فضای ذخیرهسازی مانند WebDAV یا سایر سرویسهای مشابه ذخیره نمایید.
معرفی ابزارها:
- Restic: یک ابزار خط فرمان برای پشتیبانگیری که از پروتکلهای مختلفی مانند SFTP، Samba و S3 پشتیبانی میکند. این ابزار قابلیت ایجاد نسخههای پشتیبان، بازیابی آنها، پاکسازی، مونت کردن snapshots برای مرور و امنیت دادهها از طریق رمزنگاری را فراهم میکند.
- Rclone: یک ابزار خط فرمان برای ارسال، همگامسازی و مدیریت دایرکتوریهای محلی یا راه دور. این ابزار میتواند بهعنوان یک واسط برای اتصال Restic به سرویسهایی که بهطور مستقیم پشتیبانی نمیشوند، مانند WebDAV، عمل کند.
- Systemd: یک سیستم init و مدیر سرویس برای سیستمعاملهای لینوکسی که امکان مدیریت سرویسها و زمانبندی وظایف را فراهم میکند.
مراحل پیکربندی:
- پیکربندی Rclone : ابتدا باید Rclone را برای اتصال به فضای ذخیرهسازی مورد نظر (مثلاً WebDAV) پیکربندی کنید. برای این کار، دستور زیر را اجرا کنید و یک اتصال جدید با نام دلخواه (مثلاً “nas”) ایجاد نمایید:
rclone config
- ایجاد مخزن پشتیبانگیری با Restic: پس از پیکربندی Rclone، یک مخزن پشتیبانگیری در دایرکتوری مورد نظر (مثلاً “Backups”) ایجاد کنید:
restic -r rclone:nas:Backups init
- ایجاد یک نسخه پشتیبان: برای ایجاد یک نسخه پشتیبان از دایرکتوریهای مورد نظر (مثلاً “$HOME/Images”)، دستور زیر را اجرا کنید:
restic -r rclone:nas:Backups backup $HOME/Images –verbose
مدیریت نسخههای پشتیبان: برای حذف نسخههای قدیمی و مدیریت فضای ذخیرهسازی، میتوانید از دستور “forget” به همراه گزینههای مختلف استفاده کنید. بهعنوان مثال، برای نگهداشتن نسخههای روزانه به مدت ۷ روز، نسخههای هفتگی به مدت ۴ هفته، نسخههای ماهانه به مدت ۶ ماه و نسخههای سالانه به مدت ۱ سال:
restic -r rclone:nas:Backups
forget –prune
–keep-daily 7
–keep-weekly 4
–keep-monthly 6
–keep-yearly 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
- خودکارسازی پشتیبانگیری با 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
با این پیکربندی، سیستم شما بهصورت خودکار و منظم از دادههای مشخصشده نسخه پشتیبان تهیه میکند و آنها را در فضای ذخیرهسازی مورد نظر ذخیره مینماید.

