需明确备份的档案类型:覆盖电子公文、项目档案、业务数据表格,排除临时文件与缓存;备份周期按档案重要性划分:核心业务档案每日备份,普通管理档案每周备份,历史归档档案每月完整备份,临时文件不纳入备份范围。
备份文件需存储在本地独立分区+异地网络共享文件夹双介质,禁止单一服务器存储;每个备份包需添加时间戳与版本号(如archive_20240520_v1),便于追溯。
Rsync是Linux自带的高效增量备份工具,若未安装执行对应命令:
``` Debian/Ubuntu系系统 sudo apt update && sudo apt install rsync -y CentOS/RHEL系系统 sudo yum install rsync -y ```创建脚本文件路径为/usr/local/bin/backup_archive.sh,写入完整可复制代码:
``` !/bin/bash 变量替换:请修改为自身环境的实际路径、IP、账号密码 ORIGIN_PATH="/data/official_archives" LOCAL_BACKUP="/backup/archives" REMOTE_SHARE="//192.168.1.10/backup/archive" USERNAME="admin" PASSWORD="123456" LOG_FILE="/var/log/archive_backup.log" 创建本地备份目录 mkdir -p $LOCAL_BACKUP 执行本地Rsync备份 rsync -avz --delete $ORIGIN_PATH $LOCAL_BACKUP >> $LOG_FILE 2>&1 挂载异地共享存储 mount -t cifs $REMOTE_SHARE /mnt/remote_backup -o username=$USERNAME,password=$PASSWORD 同步本地备份到异地 rsync -avz --delete $LOCAL_BACKUP /mnt/remote_backup >> $LOG_FILE 2>&1 卸载异地存储 umount /mnt/remote_backup 记录完成日志 echo "Backup done at $(date '+%Y-%m-%d %H:%M:%S')" >> $LOG_FILE ```注意:脚本中的IP地址、账号密码、路径需替换为自身环境参数,禁止直接使用示例值。
通过Crontab实现定时执行,无需手动触发:

执行命令打开Crontab编辑界面:
``` crontab -e ```添加以下规则,按备份周期设置:
``` 每日凌晨2点执行核心档案备份 0 2 /usr/local/bin/backup_archive.sh 每周日凌晨3点执行普通档案完整备份 0 3 0 /usr/local/bin/backup_archive.sh 每月1号凌晨4点执行历史档案全量备份 0 4 1 /usr/local/bin/backup_archive.sh ```保存退出后,Crontab会自动按规则运行,无需额外操作。
每次备份后执行MD5值对比,确保文件无损坏:
``` 生成原档案的MD5列表 find $ORIGIN_PATH -type f -exec md5sum {} \; > /tmp/origin_md5.txt 生成本地备份的MD5列表 find $LOCAL_BACKUP -type f -exec md5sum {} \; > /tmp/backup_md5.txt 对比两个列表,无差异则备份成功 diff /tmp/origin_md5.txt /tmp/backup_md5.txt ```若diff无输出,说明备份完整有效;若有输出,需检查文件是否遗漏或传输中断。
/var/log/archive_backup.log,重点关注权限不足、存储路径不存在等提示;rsync -avz $ORIGIN_PATH $LOCAL_BACKUP。当档案丢失或损坏时,执行恢复命令(恢复前需停止档案使用程序,避免文件被占用):
``` 从本地备份恢复到原路径 rsync -avz /backup/archives/ /data/official_archives/ 从异地备份恢复到本地 rsync -avz //192.168.1.10/backup/archive/ /backup/archives/ ```恢复后需随机抽取10%的档案校验MD5值,确保数据一致性。