FetchLinux环境下的数据备份方案
在开始备份前,需完成基础环境配置:
sudo yum update -y(CentOS/RHEL)或 sudo apt update && sudo apt upgrade -y(Debian/Ubuntu)。rsync(增量备份核心工具)和tar(归档压缩工具)。
sudo yum install rsync tar -y(CentOS/RHEL)或 sudo apt install rsync tar -y(Debian/Ubuntu)。sudo mkdir -p /backup/data(根目录下)或 sudo mkdir -p /var/opt/fetchlinux/backup(专用目录)。fetchlinux)读写,防止未授权访问。
sudo chown -R fetchlinux:fetchlinux /var/opt/fetchlinux/backup(修改所有者);sudo chmod -R 700 /var/opt/fetchlinux/backup(设置权限为仅所有者可读写执行)。rsync是Linux下高效的增量备份工具,仅复制源目录与目标目录差异的文件,节省时间和存储空间。适用于常规文件(如文档、代码、配置文件)备份。
rsync -av --delete /path/to/source /backup/data/source_backup-a(归档模式,保留权限、时间戳、符号链接等属性);-v(详细模式,显示备份过程);--delete(删除目标目录中源目录不存在的文件,保持严格同步)。.git(版本控制目录)、node_modules(依赖目录)等,减少备份体积。rsync -av --delete --exclude={'.git', 'node_modules'} /path/to/source /backup/data/source_backup。tar可将整个文件系统或指定目录打包为单个归档文件,适合需要完整系统恢复的场景(如系统崩溃、硬件故障)。
tar -czvf /backup/data/source_backup.tar.gz /path/to/source-c(创建新归档);-z(用gzip压缩,减小文件体积);-v(详细模式);-f(指定归档文件名)。/proc、/sys、/dev)和临时目录(如/tmp、/run),避免备份无效数据。tar -czvf /backup/data/system_backup.tar.gz --exclude={"/proc", "/sys", "/dev", "/tmp", "/run"} /。为避免手动操作遗漏,需通过cron设置定时任务,定期执行备份脚本。
/usr/local/bin/backup_script.sh),写入备份逻辑(以rsync为例)。#!/bin/bash
# 定义源目录和目标目录
SOURCE_DIR="/path/to/source"
BACKUP_DIR="/backup/data"
# 创建备份目录(若不存在)
mkdir -p "$BACKUP_DIR"
# 执行rsync增量备份(带日期标记)
rsync -av --delete "$SOURCE_DIR" "$BACKUP_DIR/$(date +%Y%m%d)_source_backup"
# 记录日志(可选)
echo "Backup completed at $(date)" >> /var/log/fetchlinux-backup.log
sudo chmod +x /usr/local/bin/backup_script.shcrontab -e),添加以下内容(每天凌晨2点执行备份)。0 2 * * * /usr/local/bin/backup_script.shcrontab -l查看当前用户的定时任务列表。定期检查备份文件的可用性,避免因备份失败或文件损坏导致数据丢失。
tar命令查看归档内容(不解压)。tar -tzvf /backup/data/system_backup.tar.gzls -l或du -sh命令)。若需恢复备份数据,可根据备份类型选择对应方法:
rsync -av /backup/data/source_backup/ /path/to/source/tar命令解压到指定目录。tar -xzvf /backup/data/system_backup.tar.gz -C /(-C指定解压目标目录,如/表示恢复到系统根目录)。