sudo yum update -y
tar(归档工具),若未安装rsync(增量备份工具),可通过以下命令安装:sudo yum install rsync -y
sudo mkdir -p /backup/data
tar命令(全量/完整备份)tar是CentOS中最常用的归档工具,可将文件/目录打包为压缩文件(如.tar.gz),适合全量备份。
/home用户目录):sudo tar -czvf /backup/data/home_backup_$(date +%Y%m%d).tar.gz /home
参数说明:-c(创建归档)、-z(gzip压缩)、-v(显示详细过程)、-f(指定输出文件名)。/proc、/sys):sudo tar -czvf /backup/data/system_backup_$(date +%Y%m%d).tar.gz --exclude={/proc,/sys,/dev,/tmp,/run} /
排除这些目录可避免备份无效或导致镜像文件过大。rsync命令(增量/差异备份)rsync仅同步变化的文件,节省存储空间,适合定期增量备份(如每日备份新增/修改的文件)。
/source_dir同步到/backup/dir):sudo rsync -av --delete /source_dir/ /backup/dir/
参数说明:-a(归档模式,保留权限、时间戳等)、-v(详细输出)、--delete(删除目标目录中源目录不存在的文件,保持严格同步)。sudo rsync -av --delete /source_dir/ /backup/dir/
增量备份的优势是速度快、占用空间小,适合频繁更新的文件(如网站数据、日志)。dd命令(磁盘/分区镜像备份)dd可创建磁盘或分区的完整镜像(如/dev/sda整个硬盘),适合系统级备份(如重装系统前的完整备份),但需注意:
/dev/sda):sudo dd if=/dev/sda of=/backup/data/disk_backup.img bs=4M status=progress
参数说明:if(输入文件,即源磁盘)、of(输出文件,即镜像文件)、bs(块大小,4M提升速度)、status=progress(显示进度)。disk_backup.img写回/dev/sda):sudo dd if=/backup/data/disk_backup.img of=/dev/sda bs=4M status=progress
为避免手动操作遗漏,可通过cron设置定时备份(如每天凌晨2点执行)。
sudo crontab -e
/path/to/backup_script.sh脚本):0 2 * * * /path/to/backup_script.sh
参数说明:0 2 * * *(每天凌晨2点)、/path/to/backup_script.sh(备份脚本路径)。/home目录到/backup/data,文件名包含日期):sudo vi /path/to/backup_script.sh
脚本内容:#!/bin/bash
BACKUP_DIR="/backup/data"
SOURCE_DIR="/home"
BACKUP_FILE="$BACKUP_DIR/home_backup_$(date +%Y%m%d).tar.gz"
# 执行备份
tar -czvf "$BACKUP_FILE" "$SOURCE_DIR"
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "Backup successful: $BACKUP_FILE" >> "$BACKUP_DIR/backup.log"
else
echo "Backup failed" >> "$BACKUP_DIR/backup.log"
fi
sudo chmod +x /path/to/backup_script.sh
ls -lh /backup/data/*.tar.gz)。通过以上步骤,可从零开始在CentOS系统中实现数据备份,覆盖全量、增量、镜像等多种场景,并通过定时任务实现自动化,确保数据安全。