## 🎯 آموزش Rsnapshot – ابزار بکاپگیری خودکار بر پایه Rsync در لینوکس
`rsnapshot` یک ابزار قدرتمند و سبک برای بکاپگیری **محلی** و **از راه دور** از فایل سیستمهاست.
این ابزار با استفاده از `rsync` و ویژگی **hard links**، بکاپهای **کارآمد، کمحجم و incremental** ایجاد میکند.
مناسب برای:
- بکاپگیری سیستمهای شخصی
- بکاپگیری از سرورهای راه دور
- آرشیو فایلهای مهم به صورت زمانبندیشده
---
# 📦 ویژگیهای کلیدی Rsnapshot
- استفادهی کم از فضای دیسک به خاطر Hard Link
- بکاپهای incremental (فقط تغییرات ذخیره میشود)
- بکاپگیری لوکال و ریموت (از طریق SSH)
- بسیار قابل تنظیم و خودکارسازی با Cron
---
# 🛠️ نصب Rsnapshot
**Debian/Ubuntu:**
```bash
sudo apt update
sudo apt install rsnapshot
```
**CentOS/RHEL/Fedora:**
```bash
sudo dnf install rsnapshot
```
---
# ⚙️ پیکربندی Rsnapshot
فایل کانفیگ اصلی:
```
/etc/rsnapshot.conf
```
قبل از استفاده، باید چند تغییر کوچک در این فایل بدهیم.
---
### ✅ مراحل اولیه پیکربندی:
1. **باز کردن فایل پیکربندی:**
```bash
sudo nano /etc/rsnapshot.conf
```
2. **تنظیم مسیر ذخیره بکاپ:**
مثلاً:
```
snapshot_root /backup/
```
3. **فعال کردن سطوح بکاپ (intervals):**
مثلاً:
```
interval hourly 6
interval daily 7
interval weekly 4
interval monthly 12
```
یعنی:
- ۶ بکاپ ساعتی
- ۷ بکاپ روزانه
- ۴ بکاپ هفتگی
- ۱۲ بکاپ ماهانه نگه داری شود.
4. **تعریف مسیرهای بکاپ:**
مثلاً:
```
backup /home/ localhost/
backup /etc/ localhost/
```
یا برای ریموت:
```
backup username@remote_server:/var/www/ remote_server/
```
---
# 🔥 اجرای دستی Rsnapshot
پس از تنظیمات میتوانید به صورت دستی تست بگیرید:
```bash
sudo rsnapshot configtest
```
(بررسی صحت فایل پیکربندی)
سپس اجرا:
```bash
sudo rsnapshot daily
```
(بکاپ طبق سطح مشخص شده)
---
# ⏰ زمانبندی خودکار با Cron
برای اجرای اتوماتیک، کافیست کرانجاب اضافه کنید:
ویرایش Cron:
```bash
sudo crontab -e
```
افزودن خط مثلاً برای اجرای روزانه ساعت ۲ صبح:
```bash
0 2 * * * /usr/bin/rsnapshot daily
```
یا برای اجرای ساعتی:
```bash
0 * * * * /usr/bin/rsnapshot hourly
```
---
# 🧠 نحوه عملکرد Rsnapshot (ویژگی Hard Links)
- وقتی فایلها تغییر نمیکنند، rsnapshot با استفاده از hard link، به جای کپی مجدد فایل، فقط یک لینک جدید به همان فایل میسازد.
- این باعث صرفهجویی عظیم در فضا میشود، زیرا چند نسخه بکاپ بدون مصرف اضافهی فضای دیسک ممکن میشود.
---
# 📈 مزایا و معایب Rsnapshot
| مزیتها | معایب |
|------|------|
| ساده و قابل اعتماد | برای پروژههای بسیار بزرگ با چندین ترابایت کمی کند میشود |
| استفاده بهینه از فضا | پشتیبانی نکردن مستقیم از دیتابیسها (نیاز به اسکریپت اضافی) |
| نصب و راهاندازی آسان | محدودیتهایی در نسخههای خیلی قدیمی rsync |
---
# ✅ نتیجهگیری
`rsnapshot` یک ابزار فوقالعاده برای:
- گرفتن بکاپهای کمحجم
- بکاپگیری محلی و ریموت
- خودکارسازی کامل عملیات بکاپ
است.
اگر دنبال راهکاری آسان، سریع و مطمئن برای حفاظت از دادهها در لینوکس هستید، حتماً باید Rsnapshot را امتحان کنید! 🚀