免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 9719 | 回复: 31
打印 上一主题 下一主题

一个登录远程主机并且执行md5校验然后取文件到本地的脚本【已解决】 [复制链接]

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-24 16:49 |只看该作者 |倒序浏览
本帖最后由 royzs 于 2012-02-29 13:20 编辑

我要写一个脚本,校验文件的完整性,并且将校验结果发送到一台resin的web站点下
我想的步骤是
1.登录svn服务器找到需要抓取的文件(文件有多个)生成md5校验码sort排序导入到txt文本文件回传到本地;
2.在本地find从svn上面抓取的多个文件生成md5校验码排序并且导入到txt文本文件;
3.对比两个md5校验结果的文本文件,每行对比,每行显示一个ok;
4.将反馈的结果发送到apache的站点下。

问题已经解决,多谢winway1988的指点,还有askandstudy的耐心指导,以及上海sky的文章http://www.mysqlops.com/2011/11/02/shell-expect.html
最终代码如下,如有问题或者建议,还请提出
  1. #/bin/bash
  2. USR=root
  3. PWD=123456
  4. IP=192.168.1.35
  5. FILE_HOME=/root/soft
  6. MD5_HOME=/tmp
  7. WEB_HOME=/usr/resin/webapps/

  8. expect -c "
  9.         spawn ssh $USR@$IP
  10.         expect \"password:\";send \"$PWD\r\"
  11.         expect \"#\";send \"pwd\r\"
  12.         expect \"#\";send \"ls\r\"
  13.         expect \"#\";send \"find $FILE_HOME -type f|xargs md5sum|cut -d ' ' -f1|sort > md5.txt\n\"
  14.         expect \"#\";send \"ls\r\"
  15.         expect \"#\";send \"cat md5.txt\r\"
  16.         expect \"#\";send \"exit\r\"
  17.         expect \"#\";spawn scp $USR@$IP:~/md5.txt $MD5_HOME/md5.txt
  18.         expect \"password:\";send \"$PWD\r\"
  19.         expect eof
  20. "

  21. find $FILE_HOME -type f|xargs md5sum|cut -d ' ' -f1|sort>$MD5_HOME/lmd5.txt
  22. paste $MD5_HOME/md5.txt $MD5_HOME/lmd5.txt|awk '$1==$2 {print $0,"ok"}; $1!=$2 {print $0,"fail"}'>$MD5_HOME/md5.do

  23. expect -c "
  24.         spawn scp $MD5_HOME/md5.do $USR@$IP:$WEB_HOME/md5.do
  25.         expect \"password:\"
  26.         send \"$PWD\";send \"\n\"
  27.         expect eof
  28. "
复制代码

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
2 [报告]
发表于 2012-02-24 17:21 |只看该作者
本帖最后由 royzs 于 2012-02-28 14:27 编辑

我近乎崩溃啊,搞了两天到这里就卡住了

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
3 [报告]
发表于 2012-02-24 17:39 |只看该作者
提供个具体些的思路也可以啊

论坛徽章:
1
15-16赛季CBA联赛之吉林
日期:2018-05-23 14:31:12
4 [报告]
发表于 2012-02-24 17:52 |只看该作者
试试 ssh user@hostname "md5sum /path/file" | awk '{print $1}'

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
5 [报告]
发表于 2012-02-24 17:58 |只看该作者
回复 4# gtuiw


   需要认证啊,需要认证的脚本又怎么能写进脚本里面呢

论坛徽章:
0
6 [报告]
发表于 2012-02-24 17:58 |只看该作者
将校验码写入到一个文件,传回来,或者用nc命令试试

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
7 [报告]
发表于 2012-02-24 18:01 |只看该作者
回复 6# yuanfaxiang1008


    这样以来不是至少需要写两个脚本才可以吗,而且不是不是同步执行,需要执行两次

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
8 [报告]
发表于 2012-02-24 19:14 |只看该作者

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
9 [报告]
发表于 2012-02-24 19:31 |只看该作者
expect可以吗?

论坛徽章:
14
处女座
日期:2013-11-26 09:21:15操作系统版块每日发帖之星
日期:2016-03-25 06:20:00操作系统版块每日发帖之星
日期:2016-03-22 06:20:00操作系统版块每日发帖之星
日期:2016-03-21 06:20:00数据库技术版块每日发帖之星
日期:2015-11-13 06:20:00操作系统版块每日发帖之星
日期:2015-11-01 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-29 13:31:42IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00双鱼座
日期:2014-07-17 15:08:51卯兔
日期:2014-04-08 09:54:34
10 [报告]
发表于 2012-02-24 20:11 |只看该作者
回复 9# winway1988


    可以啊,问题是能实现这些功能吗,我只是想要这样一个结果
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP