免费注册 查看新帖 |

Chinaunix

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

一个shell问题..帮忙来看下````````` [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-20 09:44 |只看该作者 |倒序浏览
cp /etc/passwd /etc/passwd.old
diff /etc/passwd /etc/passwd.old
比较出2个文件.假如有区别就把内容发mail```

后面的2个文件内容有区别发mail的shell要怎么写啊?

论坛徽章:
0
2 [报告]
发表于 2007-08-20 09:52 |只看该作者
diff x y >/dev/null 2>&1
if [ $? -ne 0 ]; then
   echo "x y NOT the same"
else
   echo "ok"
fi

要发mail,就mai xxx <<EOF
....
EOF
好了

论坛徽章:
0
3 [报告]
发表于 2007-08-20 09:58 |只看该作者
原帖由 ivhb 于 2007-8-20 09:52 发表
diff x y >/dev/null 2>&1
if [ $? -ne 0 ]; then
   echo "x y NOT the same"
else
   echo "ok"
fi

要发mail,就mai xxx  

给我在旁边加一下注释好吗???我学习下.....拿去就用 不会有进步 呵呵`

论坛徽章:
0
4 [报告]
发表于 2007-08-20 10:01 |只看该作者
呵呵,真的想学习的话,你可以man diff, man mail,man 你的shell
      An exit status of 0 means no differences were found, 1 means some dif-
      ferences were found, and 2 means trouble.

这个是diff的退出值 $? 的说明

mail的用法,很容易找到。这个论坛就有很多。你可以翻翻以前的帖子。很有帮助的。

论坛徽章:
0
5 [报告]
发表于 2007-08-20 10:04 |只看该作者
x y是2个文件?

论坛徽章:
0
6 [报告]
发表于 2007-08-20 10:06 |只看该作者
代表了你的  /etc/passwd    /etc/passwd.old   这两个文件。
在唠叨一句吧,学习shell很简单。尤其是你不需要弄明白到底内部怎么工作的时候。
你需要的就是
try and error ...
直到成功。命令都是立刻生效的。都可以拿出来单独调试。
动手吧,慢慢的就好了。

论坛徽章:
0
7 [报告]
发表于 2007-08-20 10:07 |只看该作者
好的.有QQ或MSN吗? PM一下
有问题可以直接询问你

论坛徽章:
0
8 [报告]
发表于 2007-08-20 10:29 |只看该作者
能不能再帮我加句
假如文件有不同.把不同的内容echo到xxx.log

论坛徽章:
0
9 [报告]
发表于 2007-08-20 10:31 |只看该作者
diff x y > xxx.log 2>&1
if [ $? -ne 0 ]; then
....
....
fi

论坛徽章:
0
10 [报告]
发表于 2007-08-20 11:36 |只看该作者
再帮我改一下....现在是不管结果如何都发邮件过去..

我想如果2个文件一样的话..就不执行下面的mail了.


  1. #!/bin/sh
  2. #===========================================#
  3. # Author: ReJeCt Version:v0.1
  4. # Create Time: 2007-08-20
  5. # Funcation:diff passwd
  6. # Modify list:
  7. #===========================================#
  8. # 比对2个文件是否有异常.
  9. diff /etc/passwd /etc/passwd.old > /root/logs/passwd.log 2>&1
  10. if [ $? -ne 0 ]; then
  11.    echo "貌似2个文件有异常.快检查!"
  12. else
  13.    echo "passwd没有问题"
  14. fi

  15. #发邮件提醒.
  16. CAT=/bin/cat
  17. MAIL=/bin/mail

  18. mailto=weili@dukuai-inc.com
  19. passlog=/root/logs/passwd.log
  20. $CAT $passlog|$MAIL -s "web1 passwd貌似有异常,快检查!" $mailto
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP