文件备份传输时需要保证文件的完整性,否则可能会引出更多的问题

方案:使用Md5验证文件,以gitlab备份为例

  1. 安装相关依赖包

    yum -y install perl perl-Digest-MD5 -y
    
    md5sum (选项) (参数) -b:二进制模式读取文件;
    -t或--text:把输入的文件作为文本文件看待;
    -c:从指定文件中读取MD5校验和,并进行校验;
    --status:验证成功时不输出任何信息;
    -w:当校验不正确时给出警告信息。 生成MD5:md5sum testfile > testfile.md5
    检验MD5:md5sum testfile -c testfile.md5
    
  2. 生成MD5文件

    md5sum -b *_11.8.10_gitlab_backup.tar > bakup_file.md5
    
  3. 文件同步到备份机器后进行验证:

    md5sum -cw ./bakup_file.md5
    if [ $? -ne 0 ]; thenecho "MD5验证失败!!!"
    exit 1
    fi
    
附录:
  1. 获取指定文件夹下所有文件的md5值:

    find ./BACKUP_DIR/ -type f -print0 | xargs -0 md5sum | sort > bakup_file.md5
    
  2. windows下使用md5sum

    # 下载地址,http://www.pc-tools.net/files/win32/freeware/md5sums-1.2.zip
    md5sum.exe bakup_file.txt > bakup_file.md5
    md5sum.exe -c bakup_file.md5
    

md5验证文件完整性相关推荐

  1. MD5验证文件完整性 C++

    读取文件内容并且做MD5验证 C++ 为了验证下载的文件是否完整,是否被篡改,常用的验证方法为MD5验证,文件生成32位验证码,可验证文件是否完整下载或被篡改. md5.h文件 #ifndef MD5 ...

  2. linux通过md5验证文件完整性,Linux下校验下载文件的完整性(MD5,SHA1,PGP)

    Linux下的学习开始总是艰难的,但有的时候,却发现Linux下远比Windows的操作来的实在的多--这下载文件的完整性就是其中一件,让本人觉着很爽的一件事情.在编译安装各种软件的时候,总要到各个网 ...

  3. MD5验证文件是否重复

    根据文件生成MD5标识串,当两个标识串一致时认为文件内容相同. 文件生成MD5 String方法如下: import java.io.File; import java.io.FileInputStr ...

  4. MD5校验文件完整性

    $ md5sum genome1 genome2 # 发现这两个文件md5值完全一样,也就说明这两个文件完全相同 c05983a95a48d57e137ba35da59aac3e genome1 c0 ...

  5. Windows如何用sha1验证文件完整性

    只需三步 第一步:键入win+R打开cmd. 第二步:跳转到文件所在路径(示例如下图). 第三步:键入"certutil -hashfile 文件名 SHA1",等跑出结果后,将本 ...

  6. 使用开源的openssl的md5头文件,实现对于文件的md5代码

    需要安装openssl的库 sudo apt-get install openssl sudo apt-get install libssl-dev 参考链接 代码 #include "op ...

  7. linux 校验文件生成,在Linux中了解如何使用MD5校验和生成和验证文件

    校验和是用作在数据正确数字的总和,其可以稍后用于存储或传输期间检测数据中的错误的一个数字.MD5( 消息摘要5)的款项可以用作校验和,以验证文件或字符串在Linux的文件系统 . MD5校验和是128 ...

  8. c语言压缩并加密算法,C语言压缩文件和用MD5算法校验文件完整性的实例教程

    使用lzma SDK对7z文件简单解压缩有时候我们只需要单纯对lzma算法压缩的7z文件进行解压,有时需要在嵌入式设备上解压,使用p7zip虽然支持多种格式,但是不容易裁剪,使用lzma SDK是首选 ...

  9. Excel VBA之MD5验证密码介绍

    MD5是一种不可逆的验证文件完整性的Message--Digest 算法,由MIT的实验室最早提出来,想了解历史的可以自行查阅,对于MD5不可逆的主要原因是Hash算法不可逆,其具体操作里的算法有求余 ...

  10. C++安全方向(三)3.4 使用哈希列表验证文件的完整性

    操作步骤 1.哈希列表(Hash List) 2.读取文件,分块生成hash值 3.合并所有hash值再生成hash值 4.hash(hash(f1)-hash(f100)) 问题:为什么要用哈希列表 ...

最新文章

  1. Actor-ES框架:Ray-Handler-消息订阅器编写
  2. Android RecyclerView嵌套EditView实时更新Item数据
  3. sql 同一字段合并
  4. 收藏 | 自监督视觉Transformer
  5. React组件生命周期-正确执行运行阶段的函数
  6. 【博客项目】—登录功能实现( 四)
  7. php js条形码扫描,使用JavaScript根据图片获取条形码的方法
  8. getParameterValues中文乱码
  9. 修改BCM4322 ID 和国家码完美支持黑苹果和5G WiFi频段
  10. 第1-7课:基础开胃菜
  11. 【Pytorch】data.norm(几种范数(norm)的详细介绍)
  12. exe停止运行C语言,处理win7应用程序已停止“异常代码c0000005”的方法
  13. HBCPC2017 C++ 训练题 春游 超级密码
  14. 【NOWCODE SEVEN】:二分查找/排序
  15. 览沃livox_大疆内部孵化的览沃科技Livox推出激光雷达,进入自动驾驶领域
  16. HTML与css作用有什么不同,HTML和CSS是什么玩意儿?
  17. 基于BIM+GIS技术,如何构建智慧楼宇三维可视化管控平台?
  18. firefly-rk3288j开发板--linux NFC实验之RC522驱动
  19. 2500php,Ryzen 5 2500U的性能评测
  20. 注册会计师各科复习方法

热门文章

  1. Fvuln-自动化web漏洞检测工具
  2. 第一章:J2EE高级软件工程师面试题集
  3. linux热迁移137error VMware vCenter Converter 问题小结
  4. 游戏服务端究竟解决了什么问题?
  5. 如何使用 哑节点(dummy node),高效解决问题
  6. wpa/wpa2无线网pin码破解
  7. 针对笔记本双显卡安装ubuntu16.04双系统,开机只显示背景图解决办法
  8. #17-【二分】gdgzoi::比赛.Contest2281.Problem D (包裹快递)(zly#1)
  9. Unable to initialize EGL
  10. 华为手机禁用省电精灵