? Backup Configuration and Management

ISPConfig Backup System

ISPConfig includes an integrated backup system that can automatically backup websites and databases.

Configuring Website Backups

  1. Navigate to Sites → Websites
  2. Select website to configure
  3. Go to "Backup" tab
  4. Configure backup settings:
    • Backup interval: Daily, Weekly, or Monthly
    • Number of backups: How many to keep (1-10)
    • Backup directory: /var/backup or custom
    • Backup format: tar.gz (compressed)
    • Exclude directories: Specify folders to skip
  5. Save configuration

Backup Schedule Options

Interval When Runs Best For
Daily Every night at 00:30 Active websites, e-commerce
Weekly Sunday night Regular websites, blogs
Monthly 1st of month Static websites

What Gets Backed Up

  • Website backup includes:
    • All files in web directory
    • Website configuration
    • SSL certificates
    • Cron jobs
    • FTP users
  • Database backup includes:
    • Complete database dump
    • All tables and data
    • Stored procedures
    • Triggers and views

Manual Backup Creation

Via Command Line

# Backup website files
tar -czf website_backup.tar.gz /var/www/clients/client1/web1/web/

# Backup database
mysqldump -u root -p database_name > database_backup.sql

# Combined backup with timestamp
DATE=$(date +%Y%m%d_%H%M%S)
tar -czf backup_$DATE.tar.gz /var/www/clients/client1/web1/
mysqldump -u root -p c1_database | gzip > db_backup_$DATE.sql.gz

Backup Storage Locations

  • Local backup: /var/backup/web[ID]
  • Custom location: Define in backup settings
  • Remote backup: Mount remote storage via NFS/CIFS
  • Cloud backup: Sync to cloud storage separately

Restoring from Backup

Restore Website Files

  1. Locate backup file in /var/backup/
  2. Extract to temporary location:
    tar -xzf backup.tar.gz -C /tmp/restore/
  3. Copy files to website directory:
    cp -R /tmp/restore/web/* /var/www/clients/client1/web1/web/
  4. Fix permissions:
    chown -R web1:client1 /var/www/clients/client1/web1/web/

Restore Database

# Restore from SQL dump
mysql -u username -p database_name < backup.sql

# Restore compressed backup
gunzip < backup.sql.gz | mysql -u username -p database_name

# Restore via phpMyAdmin
# 1. Login to phpMyAdmin
# 2. Select database
# 3. Import → Choose file → Go

Automated Backup Scripts

Custom backup script example:

#!/bin/bash
# ISPConfig backup script

# Variables
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
WEBSITE="/var/www/clients/client1/web1"
DATABASE="c1_database"

# Create backup directory
mkdir -p $BACKUP_DIR/$DATE

# Backup website
tar -czf $BACKUP_DIR/$DATE/web_$DATE.tar.gz $WEBSITE

# Backup database
mysqldump -u root -pPASSWORD $DATABASE | gzip > $BACKUP_DIR/$DATE/db_$DATE.sql.gz

# Delete old backups (keep 7 days)
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} ;

# Send notification
echo "Backup completed for $DATE" | mail -s "Backup Report" admin@domain.com

Backup Best Practices

  • Schedule regular automated backups
  • Keep multiple backup versions
  • Store backups offsite/cloud
  • Test restore process regularly
  • Document backup procedures
  • Monitor backup job success
  • Encrypt sensitive backups

Off-site Backup Solutions

  • rsync: Sync to remote server
  • FTP/SFTP: Upload to backup server
  • Cloud sync: AWS S3, Google Cloud, Dropbox
  • Backup services: Third-party backup solutions
Important: Always verify backups by performing test restores. A backup is only useful if it can be successfully restored.
這篇文章有幫助嗎? 0 用戶發現這個有用 (0 投票)