多线程核对MD5码脚本
2014-02-08 09:25
211 查看
多线程核对MD5码:
#!/bin/bash
read -p "请输入需要核对MD5码的文件具体路径(例:/data/1.txt):" file
if [ -f $file ]
then
echo "此中心MD5码 `/usr/bin/md5sum $file`" >md5.txt
else
echo "中心不存在此文件,请再次确认··"
exit 1
fi
thead_num=10
tmp_fifo_file="/tmp/$$.fifo"
mkfifo $tmp_fifo_file
exec 4<>$tmp_fifo_file
rm -f $tmp_fifo_file
for ((i=0;i<$thead_num;i++))
do
echo ""
done >&4
for i in `cat ip.txt`
do
read -u4
{
echo "$i `ssh root@$i /usr/bin/md5sum $file`" >> md5.txt
sleep 3
echo "" >&4
}&
done
wait
exec 4>&-
# exit 0
#for i in `cat ip.txt`
#do
#echo "$i `ssh root@$i /usr/bin/md5sum $file`" >> md5.txt
#done
a=`awk 'NR==1 {print $2}' md5.txt`
b=`grep -v "$a" md5.txt|wc -l`
if [ $b -eq 0 ]
then
echo "md5码核对全部正确:"
cat md5.txt
else
echo "失败的为:"
echo `grep -v "$a" md5.txt`
echo ""
echo "=================================================================="
echo "成功的为:"
cat md5.txt |grep "$a"
fi
#!/bin/bash
read -p "请输入需要核对MD5码的文件具体路径(例:/data/1.txt):" file
if [ -f $file ]
then
echo "此中心MD5码 `/usr/bin/md5sum $file`" >md5.txt
else
echo "中心不存在此文件,请再次确认··"
exit 1
fi
thead_num=10
tmp_fifo_file="/tmp/$$.fifo"
mkfifo $tmp_fifo_file
exec 4<>$tmp_fifo_file
rm -f $tmp_fifo_file
for ((i=0;i<$thead_num;i++))
do
echo ""
done >&4
for i in `cat ip.txt`
do
read -u4
{
echo "$i `ssh root@$i /usr/bin/md5sum $file`" >> md5.txt
sleep 3
echo "" >&4
}&
done
wait
exec 4>&-
# exit 0
#for i in `cat ip.txt`
#do
#echo "$i `ssh root@$i /usr/bin/md5sum $file`" >> md5.txt
#done
a=`awk 'NR==1 {print $2}' md5.txt`
b=`grep -v "$a" md5.txt|wc -l`
if [ $b -eq 0 ]
then
echo "md5码核对全部正确:"
cat md5.txt
else
echo "失败的为:"
echo `grep -v "$a" md5.txt`
echo ""
echo "=================================================================="
echo "成功的为:"
cat md5.txt |grep "$a"
fi
相关文章推荐
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Linux Shell常用技巧
- Shell编程的一些知识集合
- 基于一个应用程序多线程误用的分析详解
- asp MD5加密方式使用建议
- linux Shell学习笔记第五天
- Perl 获取shell命令的执行结果
- Linux shell操作mysql数据库深入解析
- Linux Shell简介
- 浅解关于C#多线程的介绍
- 批处理程序中的“多线程”处理代码
- c#中多线程访问winform控件的若干问题小结
- C#中的多线程多参数传递详解
- 小试JavaScript多线程第1/2页
- JavaScript多线程的实现方法
- linux shell awk获得外部变量(变量传值)简介
- shell 中数学计算总结
- linux shell 中 2>&1的含义