Stream8(CentOS Stream 8)备份重要数据的方法
rsync是Linux下高效的文件同步工具,支持增量备份(仅传输变化的部分),适合定期备份重要目录(如/etc、/var)。
sudo mkdir /backups/centos_stream
--exclude排除无需备份的特殊目录(如/dev、/proc等),避免备份无效或危险文件:sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /etc/ /backups/centos_stream/
sudo rsync -avz --exclude={...} /etc/ /backups/centos_stream/ && sudo rsync -avz --exclude={...} /var/ /backups/centos_stream/
tar可将多个目录打包成单个压缩文件(.tar.gz),适合一次性备份多个目录,便于存储和传输。
sudo mkdir /backups/centos_stream
sudo tar -czvf /backups/centos_stream/centos_stream_backup.tar.gz /etc/ /var/
-c:创建归档文件;-z:用gzip压缩;-v:显示详细过程;-f:指定文件名。Syncthing是开源的实时同步工具,可将数据同步到本地或其他设备(如另一台服务器、NAS),适合需要实时备份的场景。
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
vi /root/.config/syncthing/config.xml
找到<address>127.0.0.1:8384</address>,修改为<address>0.0.0.0:8384</address>。sudo systemctl restart syncthing@root.service
sudo systemctl enable syncthing@root.service
通过cron设置定时任务,可实现每天/每周自动执行备份脚本,避免手动操作遗漏。
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/
chmod +x /backup_script.sh
crontab -e,添加以下行(每天凌晨2点执行脚本):0 2 * * * /backup_script.sh
tar -xzvf解压.tar.gz文件,用rsync -avz还原目录)。