重生之慕夜星辰txt书包:自动校验文件夹及其内容shell程序(md5 校验文件夹中所有数据)
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 01:55:49
自动校验文件夹及其内容shell程序(md5 校验文件夹中所有数据)
分类: shell 2011-07-30 17:57 335人阅读 评论(0) 收藏 举报 一.问题的来源有时候copy一些重要的数据,得到之后需要与原数据进行核对是否数据一致。这就需要进行校验。
二.问题的分析
校验数据有多种方法,最简单的是使用文件的md5码进行校验。但是文件很多,手动的每个文件进行md5校验显然不合适,这就需要编写shell程序解决。
三.问题的解决
通过shell程序解决文件校验问题
1.通过命令得到文件md5值
比如得到的数据文件夹为 data 文件夹
则在data 文件夹中输入以下命令
find ./ -type f -print | xargs md5sum > /tmp/md5.1
cd /tmp
cat md5.1 | sort > md5.1.1
rm md5.1
mv md5.1.1 md5.1
2.在原数据文件夹中 data 文件夹中输入以下命令
find ./ -type f -print | xargs md5sum > /tmp/md5.2
cd /tmp
cat md5.2 | sort > md5.2.1
rm md5.2
mv md5.2.1 md5.2
3.把上面得到的md5.1 和md5.2放到同一个服务器同一个目录下,比如从server_1 scp 到server_2下
scp server_1:/tmp/md5.1 /tmp/
4.执行 diff 如果输出为空,则说明数据一直,否则,说明数据不一致
diff /tmp/md5.1 /tmp/md5.2
四.总体思路
通过得到原文件夹下和新文件夹下的所有文件的md5值,然后把md5值进行排序,最后比较两md5值是否相同即可
五.注意
实际上 上述操作中的md5.1 (或md5.2) 中的内容是 "文件名 md5值" 的格式。
六.全自动shell程序
比如 有两台机器 server_1 和server_2 ,刚从server_1 上的 /home/longxibendi/ 下scp 的 data文件夹到 server_2 的 /home/longxibendi/ 下
程序如下:
#!/bin/bash
#author longxibendi
#function check file1 and file2 use their md5
#support folder
cd /home/longxibendi/data
find ./ -type f -print | xargs md5sum > /tmp/md5.1
cd /tmp
cat md5.1 | sort > md5.1.1
rm md5.1
mv md5.1.1 md5.1
ssh longxibendi@server_2
cd /home/longxibendi/data
find ./ -type f -print | xargs md5sum > /tmp/md5.2
cd /tmp
cat md5.2 | sort > md5.2.1
rm md5.2
mv md5.2.1 md5.2
scp server_1:/tmp/md5.1 /tmp/md5.2
# if file1 and file2 is same ,then print It is OK
# else if file1 and file2 is different ,then print They are different
if [ -z "`diff md5.1 md5.2`" ] ;then
echo "It is OK";
else
echo "They are different";
fi
声明:本文档可以随意更改,但必须署名原作者
作者:凤凰舞者 qq:578989855
无法找到 SHELL 程序
可疑程序Shell
安装程序CRC校验失效
DOS 如何将一个文件夹及其内所有内容和子文件夹删除?
微机原理中奇校验程序
一个shell自动登录的问题
如何在双击打开文件夹的时候自动运行程序?
我想打开打开文件夹,能自动运行里面的程序。
安装程序后自动生成System Volume Information的文件夹?
打开程序和文件夹时自动安装很多垃圾软件
《决定》来源及其内容
什么是计算机辅助设计及其内容
Shell scrap object handler是什么程序?
请问Shell scrap object handler是什么程序?
Lsa shell(Export version)是什么程序呢
有没有程序可以自动阅读网页里的内容?
大家见过这个MD5校验值的M$吗?
机械设计制造及其自动
怎样设置一个路径,能自动寻找系统文件夹,或程序组文件夹我的文档等等的?
怎么可以弄打开一个文件夹就可以自动打开该文件夹里的程序?
哪位大侠帮帮忙,写个shell,使得一个程序a.exe被kill掉以后重新启动,就是让它挂掉自动重启?
NOKIA7270 为什么文件夹有显示35.8M但找不到里面的内容
shell文件源码保护 防止查看shell文件内容 但可正常执行
该名字及其程序?