FetchLinux 备份与恢复实用方案
一 工具与场景澄清
二 使用 FetchLinux 作为下载工具的备份与恢复
/home/user/documents
/var/www/html
/opt/app/data
fetchlinux -r -f filelist.txt -o /backup/fetch_$(date +%F) -p -z -v -i /path/to/id_rsa
常用选项:-r/–recursive 递归,-f/–filelist 指定清单,-o 输出目录,-p/–preserve 保留时间与权限,-z/–compress 压缩传输,-v 详细输出,-i 指定私钥。三 使用 FetchLinux 作为备份工具的备份与恢复
# Debian/Ubuntu
sudo apt update && sudo apt install fetchlinux
# RHEL/CentOS(若仓库提供)
sudo yum install epel-release && sudo yum install fetchlinux
# 启动
fetchlinux
四 不依赖 FetchLinux 的通用 Linux 备份与恢复
# 基本增量
rsync -aAXv --delete /path/to/src/ /backup/src_$(date +%F)/
# 排除常见虚拟/临时文件系统(系统级备份时)
sudo rsync -aAXv --delete \
--exclude={"/proc","/sys","/dev","/tmp","/run"} \
/ /backup/full_$(date +%F)/
说明:-a 归档,-A 保留 ACL,-X 保留扩展属性,-v 详细,–delete 让目标与源保持一致。# 目录
tar -czvf /backup/docs_$(date +%F).tar.gz /path/to/docs
# 系统(排除虚拟/临时文件系统)
sudo tar -czvf /backup/full_$(date +%F).tar.gz \
--exclude={"/proc","/sys","/dev","/tmp","/run"} \
/
# MySQL
mysqldump -u user -p --single-transaction --routines --triggers db > db_$(date +%F).sql
# PostgreSQL
pg_dump -U user -d db -f db_$(date +%F).sql
# 每天 02:00 执行脚本
0 2 * * * /usr/local/bin/backup.sh
# tar 快照恢复到根目录
sudo tar xvpfz /backup/full_2025-11-16.tar.gz -C /
# rsync 回滚
sudo rsync -aAXv /backup/full_2025-11-16/ /
# MySQL
mysql -u user -p db < db_2025-11-16.sql
# PostgreSQL
psql -U user -d db -f db_2025-11-16.sql
提示:系统级恢复前建议先备份当前关键数据;恢复后检查权限/属主/SELinux/UUID等一致性。五 备份策略与运维要点