本指南覆盖Linux(CentOS/Ubuntu等所有主流发行版)、Windows Server 2016及以上版本,所有工具均为系统自带或官方开源工具,无第三方付费依赖。
优先选择SHA256算法,校验安全性高;大文件校验追求速度可选XXH3算法,安全性足够且速度是SHA256的10倍以上。
sha256sum为系统自带,无需额外安装;如需使用XXH3算法,执行sudo apt install xxhash(Debian/Ubuntu)或sudo yum install xxhash(CentOS/RHEL)即可安装Get-FileHash命令支持SHA256算法,旧版本系统可通过微软官方地址升级PowerShell:https://learn.microsoft.com/zh-cn/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4校验的前提是有备份生成时的原始校验值,必须在备份文件生成完成后第一时间生成校验值,且校验文件与备份文件分开存储(如存储到其他磁盘、对象存储或本地电脑),避免二者同时损坏。
按下Win+X选择「终端管理员」打开PowerShell,执行以下命令:
``` 单个备份文件生成SHA256校验值,写入CSV格式校验文件 替换D:\backup\data_20240520.tar.gz为你的实际备份文件路径 Get-FileHash -Path D:\backup\data_20240520.tar.gz -Algorithm SHA256 | Select-Object Hash,Path | Export-Csv -Path D:\backup\data_20240520.csv -NoTypeInformation 批量生成指定目录下所有.tar.gz格式备份的校验值 Get-ChildItem -Path D:\backup -Filter .tar.gz | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } | Select-Object Hash,Path | Export-Csv -Path D:\backup\all_backup_20240520.csv -NoTypeInformation ```备份传输到其他服务器、存储介质,或存储一段时间后,可通过以下操作校验文件完整性。

输出结果中带OK的为校验通过,带FAILED的为文件损坏或被篡改,校验失败的备份文件严禁用于恢复操作,需立刻排查传输链路、存储介质是否存在故障。如果备份文件当前路径和生成校验值时的路径不一致,可将校验文件和备份文件放在同一目录,用文本编辑器修改校验文件内的路径为当前路径即可。
如果备份存储在阿里云OSS、腾讯云COS等对象存储中,无需下载文件即可校验:上传文件时云存储会返回文件的哈希值,可直接在控制台文件详情页查看哈希值,和本地生成的原始校验值对比即可;分片上传的大文件可调用云存储API获取分片组合哈希值进行对比,节省下载带宽。
如需定期巡检备份完整性,可配置自动校验任务,无需手动执行。
D:\script\backup_check.ps1taskschd.msc打开任务计划程序powershell.exe,添加参数输入-ExecutionPolicy Bypass -File D:\script\backup_check.ps1首先确认校验算法是否一致(如生成时用MD5、校验时用SHA256必然失败),其次确认备份文件路径是否正确、是否存在软链接跳转的情况,最后重新生成原始备份的校验值,排除备份生成时就已损坏的情况。
替换SHA256算法为XXH3算法,校验速度可提升10倍以上,且校验准确性足够满足日常备份校验需求。
如果还保留备份生成时的原始副本,可重新生成校验值;如果只有当前存储的备份,可和其他异地副本的校验值对比,确认文件完整性。务必在备份生成第一时间同步存储校验值,避免后续无法校验。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图