在CentOS Stream 8上进行备份和恢复是确保系统数据安全的重要步骤。以下是一些常用的备份和恢复策略:
使用 rsync 和 tar 命令备份重要目录:
sudo mkdir /backups/centos_stream
/etc 目录:sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} /etc/ /backups/centos_stream/
/var 目录:sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} /var/ /backups/centos_stream/
/etc 和 /var 目录的归档文件:sudo tar -czvf /backups/centos_stream/centos_stream_backup.tar.gz /etc/ /var/
使用 Syncthing 实现实时数据同步备份:
Syncthing: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
cp syncthing /usr/local/bin
Syncthing:
编辑 /root/.config/syncthing/config.xml,将 address127.0.0.1:8384/address 改为 address0.0.0.0:8384/address。Syncthing 服务:sudo systemctl restart syncthing@root.service
Syncthing 开机自启动:
复制服务文件到系统服务目录,修改服务文件中的 ExecStart 路径,重载 systemd 配置并重启服务。使用 cron 任务定期执行备份:
backup_script.sh):#!/bin/bash
sudo mkdir -p /backups/centos_stream/$(date %Y%m%d)
sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} /etc/ /backups/centos_stream/$(date %Y%m%d)/
sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} /var/ /backups/centos_stream/$(date %Y%m%d)/
sudo tar -czvf /backups/centos_stream/$(date %Y%m%d)/centos_stream_backup.tar.gz /etc/ /var/
cron 任务:crontab -e
添加以下行以每天凌晨2点执行备份脚本:0 2 * * * /path/to/your/backup_script.sh
恢复整个系统:
sudo tar -xzvf /backups/centos_stream/centos_stream_backup.tar.gz -C /
恢复特定目录:
rsync 命令将备份数据还原到原始位置:sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} /backups/centos_stream/backup_directory/ /
通过上述备份和恢复策略,您可以在 CentOS Stream 8 中有效地管理数据,确保系统在需要时能够迅速恢复。