作为IT工程师,了解Linux系统数据备份与恢复是至关重要的技能。以下是Linux环境下常用的备份与恢复方法:
# 创建压缩备份
tar -czvf backup.tar.gz /path/to/directory
# 解压恢复
tar -xzvf backup.tar.gz -C /restore/path
# 本地备份
rsync -avz /source/path /backup/path
# 远程备份
rsync -avz -e ssh /source/path user@remote:/backup/path
# 恢复数据
rsync -avz /backup/path /restore/path
# 备份整个磁盘
dd if=/dev/sda of=/backup/sda.img bs=4M
# 恢复磁盘
dd if=/backup/sda.img of=/dev/sda bs=4M
# 加密备份到远程服务器
duplicity /source/path scp://user@remote//backup/path
# 创建快照
lvcreate -L 10G -s -n snap01 /dev/vg00/lv_root
# 恢复快照
umount /dev/vg00/lv_root
lvconvert --merge /dev/vg00/snap01
# Btrfs创建快照
btrfs subvolume snapshot /path/to/volume /path/to/snapshot
# ZFS创建快照
zfs snapshot pool/volume@snapshot_name
# 完整备份
mysqldump -u root -p --all-databases > full_backup.sql
# 单数据库备份
mysqldump -u root -p database_name > db_backup.sql
# 完整备份
pg_dumpall > full_backup.sql
# 单数据库备份
pg_dump -U username dbname > db_backup.sql
# 编辑crontab
crontab -e
# 添加每日备份任务
0 2 * * * /path/to/backup_script.sh
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/backups"
SOURCE_DIR="/important/data"
# 创建每日备份
tar -czvf $BACKUP_DIR/backup-$DATE.tar.gz $SOURCE_DIR
# 保留最近7天备份
find $BACKUP_DIR -type f -name "backup-*.tar.gz" -mtime +7 -delete
通过合理组合这些工具和方法,您可以构建适合您环境的可靠备份和恢复解决方案。