首页主机资讯centos文件管理如何备份

centos文件管理如何备份

时间2025-11-24 18:04:03发布访客分类主机资讯浏览810
导读:CentOS文件管理备份实用指南 一 备份范围与策略 识别关键数据:优先备份**/etc**(系统配置)、/home(用户数据)、业务数据目录(如**/var/www或自定义应用目录)、以及数据库目录(如/var/lib/mysql**)...

CentOS文件管理备份实用指南

一 备份范围与策略

  • 识别关键数据:优先备份**/etc**(系统配置)、/home(用户数据)、业务数据目录(如**/var/www或自定义应用目录)、以及数据库目录(如/var/lib/mysql**)。数据库建议用各自工具做逻辑备份(如mysqldump/pg_dump),避免直接拷贝运行中的数据文件。
  • 备份策略建议:日常用rsync增量保持一致性,定期做tar全量归档;重大变更前用LVM快照获取一致性点;关键业务可再配合远程副本或企业级方案(如Bacula/Bareos)。
  • 保留与异地:至少保留7–30天的历史版本,并做异地/离线副本;定期做恢复演练验证可用性。

二 常用工具与典型命令

  • rsync 增量同步(本地或远程)
    • 本地镜像:rsync -avz --delete /src/ /dst/(末尾斜杠含义重要,/src/ 表示同步目录内容)
    • 远程镜像:rsync -avz --delete -e ssh /src/ user@host:/dst/
    • 增量保留(硬链接多版本):rsync -av --delete --link-dest=/dst/prev /src/ /dst/current
  • tar 归档压缩(全量快照)
    • 目录:tar -czvf /backup/etc_$(date +%F).tar.gz /etc
    • 全系统(排除虚拟/临时文件系统):tar -cvpzf /backup/full_$(date +%F).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/mnt --exclude=/backup /
  • 数据库逻辑备份
    • MySQL/MariaDB:mysqldump -u root -p --single-transaction --routines --triggers db > db_$(date +%F).sql
    • PostgreSQL:pg_dump -U user db > db_$(date +%F).sql
  • 块级镜像(整盘/分区)
    • 镜像到文件:dd if=/dev/sda of=/backup/disk.img bs=4M status=progress
    • 盘到盘克隆:dd if=/dev/sda of=/dev/sdb bs=4M status=progress(目标盘容量需≥源盘)
  • LVM 快照(一致性点)
    • 创建快照:lvcreate -L 10G -s -n snap /dev/vg0/lv_root
    • 挂载并备份:mount /dev/vg0/snap /mnt/snap & & tar -czvf /backup/snap_$(date +%F).tar.gz /mnt/snap
    • 清理:umount /mnt/snap & & lvremove /dev/vg0/snap
  • 企业/进阶方案
    • 网络集中备份:Bacula/Bareos;版本化快照:rsnapshot;加密增量:duplicity

三 自动化与远程备份

  • 备份脚本范例(含日志与多目录)
    • 脚本:
      • #!/bin/bash
        SOURCE_DIRS=“/etc /home /var/www”
        DEST_DIR=“/mnt/backup_drive/centos_backups”
        LOG_FILE=“/var/log/centos_backup.log”
        DATE=$(date +%Y%m%d%H%M%S)
        mkdir -p “$DEST_DIR”
        echo “=== Backup $DATE ===” > > “$LOG_FILE”
        for DIR in $SOURCE_DIRS; do
        rsync -avz --delete “$DIR” “$DEST_DIR/$(basename $DIR)” > > “$LOG_FILE” 2> & 1
        if [ $? -eq 0 ]; then echo “$DIR OK” > > “$LOG_FILE”; else echo “$DIR FAILED” > > “$LOG_FILE”; fi
        done
        tar -czvf “$DEST_DIR/etc_config_$DATE.tar.gz” /etc > > “$LOG_FILE” 2> & 1
        echo “=== End $DATE ===” > > “$LOG_FILE”
    • 赋权:chmod +x /path/backup_script.sh
  • 定时任务(cron)
    • 每天02:00执行:0 2 * * * /path/backup_script.sh
    • 每周日03:30执行:30 3 * * 0 /path/backup_script.sh
  • 远程传输
    • 推送归档:scp /backup/file.tar.gz user@host:/backup/
    • 远程同步:rsync -avz -e ssh /backup/ user@host:/backup/

四 恢复与校验

  • 从 tar 恢复
    • 全量:tar -xvpzf /backup/full_2025-11-23.tar.gz -C /
    • 配置:tar -xvpzf /backup/etc_2025-11-23.tar.gz -C /
    • SELinux 上下文修复:restorecon -Rv /
  • 从 rsync 恢复
    • 目录级:rsync -av /backup/home/ /home/
    • 若使用 --link-dest 的多版本,直接取对应时间目录回滚
  • 从 dd 镜像恢复
    • 镜像到盘:dd if=/backup/disk.img of=/dev/sda bs=4M status=progress
    • 注意:目标盘容量需≥源盘,操作前确认 if/of 参数,避免数据覆写
  • 校验与演练
    • 定期核对备份文件大小、列表与关键文件可用性;按季度(或更短周期)进行真实恢复演练,验证流程与时效

五 注意事项与最佳实践

  • 使用 --delete 前务必确认源与目标路径,避免误删;远程备份优先使用SSH并限制备份账号权限。
  • 全系统打包时务必排除**/proc、/sys、/dev、/run、/mnt、/backup**等虚拟或临时挂载点,防止递归与膨胀。
  • 数据库备份优先用mysqldump/pg_dump获取一致性快照;文件系统级备份仅作补充。
  • 保留策略与监控:至少保留7–30天历史,监控备份日志与磁盘空间,出现失败及时告警与重试。
  • 变更窗口前创建LVM快照,为回滚预留一致性点;关键业务建议增加异地副本离线介质存储。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos文件管理如何备份
本文地址: https://pptw.com/jishu/754675.html
centos文件管理常见问题 centos minio升级注意事项

游客 回复需填写必要信息