بازگشت به وبلاگ
ژانویه 13, 2026راهنماها

نحوه پیکربندی پشتیبان‌گیری خودکار در سرور لینوکس

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

نحوه پیکربندی پشتیبان‌گیری خودکار در سرور لینوکس

پشتیبان‌گیری منظم برای محافظت از داده‌های شما ضروری است. این راهنما به شما نشان می‌دهد که چگونه با استفاده از اسکریپت‌های پوسته و cron jobs در سرور Hiddence خود، پشتیبان‌گیری خودکار برای فایل‌ها و پایگاه‌های داده خود راه‌اندازی کنید.

ایجاد اسکریپت پشتیبان‌گیری

یک اسکریپت پشتیبان‌گیری برای فایل‌های خود ایجاد کنید:

bash
sudo nano /usr/local/bin/backup.sh
#!/bin/bash
BACKUP_DIR="/backups"
SOURCE_DIR="/var/www"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SOURCE_DIR
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/backup.sh

راه‌اندازی Cron Job

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

bash
sudo crontab -e
# این خط را اضافه کنید تا پشتیبان‌گیری روزانه ساعت 2 صبح اجرا شود
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

اسکریپت پشتیبان‌گیری پایگاه داده

اسکریپتی برای پشتیبان‌گیری از پایگاه داده MySQL ایجاد کنید:

bash
sudo nano /usr/local/bin/db_backup.sh
#!/bin/bash
BACKUP_DIR="/backups/db"
DB_NAME="your_database"
DB_USER="root"
DB_PASS="your_password"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql
gzip $BACKUP_DIR/db_backup_$DATE.sql
find $BACKUP_DIR -name "db_backup_*.sql.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/db_backup.sh

ذخیره‌سازی پشتیبان از راه دور

پشتیبان‌ها را با استفاده از rsync یا SCP به سرور از راه دور کپی کنید:

bash
#!/bin/bash
BACKUP_DIR="/backups"
REMOTE_HOST="backup-server.com"
REMOTE_USER="backup"
REMOTE_DIR="/backups"
rsync -avz -e ssh $BACKUP_DIR/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/

سیاست نگهداری پشتیبان

نگهداری را پیکربندی کنید تا پشتیبان‌ها را برای دوره خاصی نگه دارید:

bash
# نگهداری پشتیبان‌های روزانه به مدت 7 روز
find /backups -name "backup_*.tar.gz" -mtime +7 -delete

# نگهداری پشتیبان‌های هفتگی به مدت 4 هفته
find /backups/weekly -name "backup_*.tar.gz" -mtime +28 -delete

# نگهداری پشتیبان‌های ماهانه به مدت 12 ماه
find /backups/monthly -name "backup_*.tar.gz" -mtime +365 -delete

بهترین شیوه‌های پشتیبان‌گیری

  • بازگردانی پشتیبان را مرتباً تست کنید
  • پشتیبان‌ها را در چندین مکان ذخیره کنید
  • داده‌های پشتیبان حساس را رمزگذاری کنید
  • لاگ‌های پشتیبان‌گیری را برای خطاها نظارت کنید
  • رویه‌های پشتیبان‌گیری خود را مستند کنید
  • هشدارهایی برای شکست‌های پشتیبان‌گیری تنظیم کنید