CentOS备份重要文件的常用方法及实践指南
在CentOS系统中,备份重要文件是保障数据安全的核心措施。以下是针对不同场景的备份方案,涵盖命令行工具、数据库备份及自动化策略,帮助您高效实现数据保护。
tar是CentOS中最常用的归档工具,可将多个文件/目录合并为一个压缩包,适合完整系统或关键目录的备份。
常用命令示例:
sudo tar --exclude=/backup --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/run -cvpzf /backup/centos_full_$(date +%Y%m%d).tar.gz /
参数说明:-c创建归档、-v显示进度、-p保留权限、-z用gzip压缩、-f指定文件名;--exclude用于排除无需备份的目录(如虚拟文件系统)。sudo tar -czvf /backup/home_backup_$(date +%Y%m%d).tar.gz /home
优势:支持压缩节省空间,保留文件权限,适合离线存储。
rsync通过对比源与目标文件的差异,仅传输变化的部分,适合频繁更新的文件(如网站数据、用户文档),节省带宽和时间。
常用命令示例:
rsync -avz --delete /path/to/source/ /backup/destination/
参数说明:-a归档模式(保留权限、时间戳等)、-v详细输出、-z压缩传输、--delete删除目标目录中源目录不存在的文件(保持严格同步)。rsync -avz -e ssh /local/path/ user@remote_server:/remote/backup/
优势:高效、灵活,支持本地/远程同步,是日常增量备份的首选。
对于MySQL/PostgreSQL数据库,需使用专用工具保证数据一致性(避免备份时数据修改导致损坏)。
常用命令示例:
mysqldump -u root -p --all-databases > /backup/mysql_full_$(date +%F).sql
参数说明:--all-databases备份所有数据库,-p提示输入密码。sudo -u postgres pg_dumpall > /backup/pgsql_full_$(date +%F).sql
注意:备份前建议锁定数据库(如MySQL的--single-transaction参数)或停止写入,确保数据一致性。
若系统使用LVM(逻辑卷管理),可通过快照功能实现动态备份,无需停止服务,适合生产环境。
操作步骤:
centos/root,分配10GB空间):sudo lvcreate -s -n root_snapshot -L 10G /dev/centos/root
sudo mount /dev/centos/root_snapshot /mnt/snapshot
sudo rsync -aAXv /mnt/snapshot/ /backup/lvm_backup/
sudo umount /mnt/snapshot
sudo lvremove /dev/centos/root_snapshot
优势:零停机时间,适合大型系统备份。
REAR(Relax-and-Recover)是CentOS官方推荐的企业级备份工具,可生成包含系统镜像的ISO文件,支持从光盘/USB恢复整个系统。
操作步骤:
sudo dnf install rear
sudo nano /etc/rear/local.conf
配置文件示例(设置备份路径与输出格式):OUTPUT=ISO
BACKUP=NETFS
BACKUP_URL=file:///backup
sudo rear mkbackup
备份完成后,/backup目录会生成ISO镜像和备份文件。恢复方法:通过REAR生成的ISO启动,选择“Recover”选项,按提示恢复系统。
为避免手动操作,可通过crontab设置定时任务,实现自动备份。
示例(每周日全量备份+每日增量备份):
crontab -e
# 每周日02:00执行全量备份
0 2 * * 0 /usr/bin/tar -cvpzf /backup/full_$(date +\%F).tar.gz --exclude=/backup --exclude=/proc --exclude=/sys /
# 每日02:00执行增量备份(链接上次全量备份)
0 2 * * 1-6 /usr/bin/rsync -aAX --link-dest=/backup/full_latest / /backup/incr_$(date +\%F)
注意:%在crontab中需转义为\%,避免解析错误。
tar -tvzf backup.tar.gz查看tar文件内容,或模拟恢复到测试环境)。gpg加密(如gpg -c backup.tar.gz生成加密文件)。通过以上方法,您可根据数据类型(系统/数据库/用户文件)和需求(增量/完整/灾难恢复)选择合适的备份方案,确保CentOS系统数据的安全性。