温馨提示×

Stream8如何备份重要数据

小樊
42
2025-10-02 13:17:10
栏目: 编程语言

Stream8(CentOS Stream 8)备份重要数据的方法

一、使用rsync命令实现增量备份

rsync是Linux下高效的文件同步工具,支持增量备份(仅传输变化的部分),适合定期备份重要目录(如/etc、/var)。

  1. 创建备份目录
    sudo mkdir /backups/centos_stream
    
  2. 备份单个目录(以/etc为例)
    使用--exclude排除无需备份的特殊目录(如/dev、/proc等),避免备份无效或危险文件:
    sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /etc/ /backups/centos_stream/
    
  3. 备份多个目录
    可同时指定多个目录(如/etc和/var),命令格式类似:
    sudo rsync -avz --exclude={...} /etc/ /backups/centos_stream/ && sudo rsync -avz --exclude={...} /var/ /backups/centos_stream/
    

二、使用tar命令创建完整归档

tar可将多个目录打包成单个压缩文件(.tar.gz),适合一次性备份多个目录,便于存储和传输。

  1. 创建备份目录
    sudo mkdir /backups/centos_stream
    
  2. 打包并压缩目录
    将/etc和/var目录打包成centos_stream_backup.tar.gz文件:
    sudo tar -czvf /backups/centos_stream/centos_stream_backup.tar.gz /etc/ /var/
    
    • -c:创建归档文件;
    • -z:用gzip压缩;
    • -v:显示详细过程;
    • -f:指定文件名。

三、使用Syncthing实现实时数据同步

Syncthing是开源的实时同步工具,可将数据同步到本地或其他设备(如另一台服务器、NAS),适合需要实时备份的场景。

  1. 下载并安装Syncthing
    从官网下载Linux版本,解压后将可执行文件复制到系统路径:
    wget https://github.com/syncthing/syncthing/releases/download/v1.23.1/syncthing-linux-amd64-v1.23.1.tar.gz
    tar zxf syncthing-linux-amd64-v1.23.1.tar.gz
    sudo cp syncthing-linux-amd64-v1.23.1/syncthing /usr/local/bin
    
  2. 配置Syncthing
    编辑默认配置文件,将监听地址改为0.0.0.0(允许远程访问):
    vi /root/.config/syncthing/config.xml
    
    找到<address>127.0.0.1:8384</address>,修改为<address>0.0.0.0:8384</address>
  3. 启动服务并设置开机自启
    sudo systemctl restart syncthing@root.service
    sudo systemctl enable syncthing@root.service
    
  4. 添加同步目录
    登录Syncthing Web界面(默认地址:http://服务器IP:8384),添加需要同步的目录(如/backups/centos_stream),并配置同步设备(如手机、另一台电脑)。

四、使用cron任务定期自动备份

通过cron设置定时任务,可实现每天/每周自动执行备份脚本,避免手动操作遗漏。

  1. 创建备份脚本
    新建脚本文件(如/backup_script.sh),写入备份逻辑:
    sudo vi /backup_script.sh
    
    脚本内容示例(备份/etc和/var到按日期命名的目录,并创建归档文件):
    #!/bin/bash
    BACKUP_DIR="/backups/centos_stream/$(date +%Y%m%d)"
    sudo mkdir -p "$BACKUP_DIR"
    sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /etc/ "$BACKUP_DIR/"
    sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /var/ "$BACKUP_DIR/"
    sudo tar -czvf "$BACKUP_DIR/centos_stream_backup_$(date +%Y%m%d).tar.gz" /etc/ /var/
    
  2. 设置脚本权限
    chmod +x /backup_script.sh
    
  3. 添加cron任务
    运行crontab -e,添加以下行(每天凌晨2点执行脚本):
    0 2 * * * /backup_script.sh
    

五、注意事项

  1. 排除特殊目录:备份时务必排除/dev、/proc、/sys等虚拟文件系统,避免备份无效数据或导致系统错误。
  2. 测试备份完整性:定期检查备份文件是否能正常解压、恢复(如使用tar -xzvf解压.tar.gz文件,用rsync -avz还原目录)。
  3. 升级系统:CentOS Stream 8已于2024年5月终止维护,官方不再提供安全更新,建议尽快升级到CentOS Stream 9或Rocky Linux 8,确保系统安全。
  4. 异地备份:重要数据建议同步到异地设备(如NAS、云存储),防止本地硬件故障导致数据丢失。

0