rsync:高效文件同步工具
rsync -avz --delete /source/directory/ user@remote:/backup/directory/
tar:归档工具
tar -czvf backup-$(date +%Y%m%d).tar.gz /path/to/backup
dd:磁盘/分区克隆
dd if=/dev/sda of=/backup/sda.img bs=4M
Clonezilla:开源磁盘克隆工具
MySQL/MariaDB:
mysqldump -u username -p database_name > backup.sql
PostgreSQL:
pg_dump -U username -d database_name -f backup.sql
# 每天凌晨2点执行备份
0 2 * * * /path/to/backup_script.sh
#!/bin/bash
# 定义变量
BACKUP_DIR="/backups"
DATE=$(date +%Y%m%d)
DB_USER="dbuser"
DB_PASS="password"
DB_NAME="mydatabase"
# 创建备份目录
mkdir -p $BACKUP_DIR/$DATE
# 备份数据库
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$DATE/db_backup.sql
# 备份网站文件
tar -czf $BACKUP_DIR/$DATE/web_files.tar.gz /var/www/html
# 同步到远程服务器
rsync -avz $BACKUP_DIR/$DATE backupuser@remote-server:/remote/backup/location/
# 删除7天前的备份
find $BACKUP_DIR/* -mtime +7 -exec rm -rf {} \;
# 从tar备份恢复
tar -xzvf backup.tar.gz -C /restore/location/
# 使用rsync恢复
rsync -avz user@remote:/backup/location/ /restore/location/
# MySQL恢复
mysql -u username -p database_name < backup.sql
# PostgreSQL恢复
psql -U username -d database_name -f backup.sql
加密敏感备份数据
gpg -c backup.tar.gz
设置适当的文件权限
AWS S3:使用awscli工具
aws s3 sync /local/path s3://bucket-name/path
Google Cloud Storage
通过以上方案,您可以建立完善的Linux服务器备份与恢复体系,确保数据安全和业务连续性。