首页 > 其他分享 >使用MD5验证传输文件的完整性和一致性

使用MD5验证传输文件的完整性和一致性

时间:2023-06-04 16:38:22浏览次数:43  
标签:脚本 跳板 主机 md5sum 完整性 一致性 执行 远程 MD5

在发布更新的时候验证资源完整性是非常重要的,这里我区分为两种,一种是更新资源的完整性,另外一种是远程执行发布任务脚本的一致性,在开发前期如果不注重这个问题的话,很可能在上线前期就会出现一些灾难性问题。


第一种,shell中使用md5sum验证传输文件的完整性

这个我是用shell中md5sum来做的,一般的发布流程大概有拉取代码仓库的资源,将资源传到线上,执行发布操作。

1,拉取代码仓库资源到跳板机或者中心服本地,这个过程省略...


2,首先和业务方约定,每次大版本结版前,将打印一个时间格式的字符串到一个date文件里

echo `date +%Y%m%d%H%M%S` >/data/ops//RSYNC_DIR/update_dir/server/v1.xxx/date


3,获取跳板机本机更新资源的MD5值

LOCAL_MD5=$(md5sum /data/ops/xxx/RSYNC_DIR/update_dir/server/v1.xxx/date|awk '{print $1}')


4,接下来,远程执行脚本同步资源,将中心服rsync/update_dir/server/下的目录文件内容同步到线上,此处省略...


5,获取远程主机更新资源的md5值

也是一样,远程主机执行命令使用md5sum 接上传远程主机的date文件路径获取md5值

REMOTE_MD5=$(md5sum /cygdrive/d/modelfile/update_dir/server/v1.xxx/date|awk '{print $1}')


6,发布代码中对这两个值进行对比,如果不一致则报警并且异常退出执行程序


第二种,shell中使用md5sum验证远程主机中的执行脚本和跳板机中执行脚本的一致性

经常我们的发布任务,并不是都在中心服或者跳板机上执行的,复杂的发布任务一般都需要在远程主机上执行脚本才可以完成,这个执行脚本一般是写到跳板机上的,在购买机器初始化的时候会将跳板机上的执行脚本给推送到远程主机上,但是如何保证跳板机和远程主机上的执行脚本是一致的,这个是很重要的


1,首先我们在跳板机本地预先生成一个标准的md5对照关系文件

这个也是使用md5sum先在跳板机本地将这些重要的执行文件的md5值给生成出来,/data/scripts_dir这个远程主机存放执行脚本的目录,先将这个标准的对照文件stand.md5文件给生成出来

使用MD5验证传输文件的完整性和一致性_md5sum


2,再远程主机执行脚本校验stand.m5这个文件,如果有不一致的话,将这个主机信息给报出来

使用MD5验证传输文件的完整性和一致性_一致性_02

标签:脚本,跳板,主机,md5sum,完整性,一致性,执行,远程,MD5
From: https://blog.51cto.com/u_15703497/6410924

相关文章

  • 每日记录(完整性约束)
    完整性约束是为了表的数据的正确性!如果数据不正确,那么一开始就不能添加到表中。1主键当某一列添加了主键约束后,那么这一列的数据就不能重复出现。这样每行记录中其主键列的值就是这一行的唯一标识。例如学生的学号可以用来做唯一标识,而学生的姓名是不能做唯一标识的,因为学习有......
  • Groovy 基于Groovy实现MD5加密
    groovy3.0.7代码实现实现方式1importjava.security.MessageDigest;publicclassMD5Utils{ publicfinalstaticStringMD5(Strings){ char[]hexChars=['0','1','2','3','4','5','6',�......
  • 谈谈一致性哈希算法
    一致性哈希算法是1997年由麻省理工的几位学者提出的用于解决分布式缓存中的热点问题。大家有没有发现,我们之前介绍的例如快排之类的算法是更早的六七十年代,此时分布式还没有发展起来,大家往往还在提高单机性能。但是九十年代开始,逐渐需要用分布式集群来解决大型问题,相应的算法研究......
  • 超级加解密转换工具——todo,编解码 md5 sha解密可以到https://www.cmd5.com/ 注意有sa
    超级加解密转换工具V2.1绿色免费版       超级加解密转换工具可以说一款万能加密解密转换工具,支持75种方式多种转换,火星最强软件!MD5、16位MD5、MD4、拼音、大小写转换、简繁转换、GBK《-》Big5、GBK简体《-》Big5、GBK《-》SJIS、火星文转换、数字到大写金额、迅雷Thunder......
  • 实战:实现缓存和数据库一致性方案
    哈喽大家好,我是阿Q!最近不是正好在研究canal嘛,刚巧前两天看了一篇关于解决缓存与数据库一致性问题的文章,里边提到了一种解决方案是结合canal来操作的,所以阿Q就想趁热打铁,手动来实现一下。架构文中提到的思想是:采用先更新数据库,后删除缓存的方式来解决并发引发的一致性问题;采用异......
  • 一文通吃:从 ZooKeeper 一致性,Leader选举讲到 ZAB 协议与 PAXOS 算法(下)
    本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"或慕课网公众号!作者:大能|慕课网讲师上篇文章,我们介绍了ZooKeeper集群保证数据一致性和Zookeeper集群Leader选举,这边文章我们接着介绍ZAB协议和Paxos算法ZAB协议在ZooKeeper在处理事务型请求的时候有提到......
  • 基于学习的第三代测序一致性序列生成
    基于学习的第三代测序一致性序列生成王水介哈尔滨工业大学摘要:继人类基因组计划开展以来,基因测序已经广泛影响了生命科学的研究方式,各模式物种基因组在全球实验室不断被测定分析。近年来随着基因组测序数据通量的提升和成本的下降,这已成为生物医学领域的常规手段。目前以......
  • 参照完整性事例
    对于表SCforeignkey(Sno)referenceStudent(Sno)--删除表Student中元组时级联(cascade)删除SC表中对应元组ondeletecascade   --更新表Student中元组时级联(cascade)删除SC表中对应元组onupdatecascade----删除表Student中元组时拒绝ondelelenoaction......
  • MD5 - windows也可以查询某个文件的MD5码
     命令格式certutil-hashfile文件名称md5 示例MicrosoftWindows[版本10.0.22621.1702](c)MicrosoftCorporation。保留所有权利。C:\Users\Harley·Hou\Desktop\getWifiPwd_logs>certutil-hashfilewifi-log-20230530.logmd5MD5的wifi-log-20230530.log哈希......
  • hmac(md5,sha256) 魔改算法逆向
    2bebb2b85345bac93a790d1a6986b3d5经验1貌似特征码,需要在从伪代码切换到汇编模式,再点击看具体值2找出特征码,然后google再带算法,再带csource如md50x242070DBcsource3md5和sha1在transfrom4个特征相同,sha1多两个重命名经验根据上下文关系,需要点进去发现特征量,验......