linux shell脚本每分钟执行计划任务,并把结果发送到mail,怎么不重复发送
如果是这样的话 建议你脚本设置一个阀值 用if判断实现 在统计fail的类型的错误的时候 通过uniq和sort之类的排序去重语法 将重复次数和数值计算出来写入邮箱的临时文档里 另外最好不要一分钟一次 感觉意义不大 如果非要一分钟一次的话 建议脚本改进 通过当前的date时间做减法 算时间和日志里的进行比对 然后找出近一分钟的时间内的fail的IP 写入tmp文件中 那样你可以用 >这样的输出重定向 以免每次看到都有很多重复信息。 具体的脚本写法我就不罗列了 自己解决问题才是成长的过程。
linux 怎么发送邮件
一般来说只要把sendmail的service起起来就可以发内网邮件了
方法1 安装sendmail即可使用, mail -s "test" user@sohu.com <content.txt
bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用。
方法2。利用外部的smpt服务器
而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:
修改/etc/nail.rc (/etc/mail.rc)
set from=fromUser@domain.com smtp=smtp.domain.comset smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login
说明:
from是发送的邮件地址
smtp是发生的外部smtp服务器的地址
smtp-auth-user是外部smtp服务器认证的用户名
smtp-auth-password是外部smtp服务器认证的用户密码
smtp-auth是邮件认证的方式
配置成功后,就可以使用了
可以发送一封邮件测试一下:
mail -s "test" username@163.com <content.txt 其中-s后面的是邮件标题,user@sohu.com是收件人地址,content.txt里面是邮件正文
linux 如何在命令行下面发送邮件
操作系统(无论linux还是windows)有一种“管道”的概念,可以把一个程序的标准输入/输出改到其他的地方。
你说的那些gui外壳,就是为命令行程序创建了一个管道,标准输入和标准输出被改到了gui外壳程序的内部。所以就不会再弹出命令行窗口了。
gui外壳会根据你在窗口上的操作,通过管道,向命令行程序发送指令,就像你手动在命令行窗口上敲命令一样。
命令行程序的标准输出也会通过管道传送到gui外壳的内部,加以处理后在窗口上显示个给你.