|
今天做了一个将服务器日志分析,且将结果发送到管理员邮箱的功能。如果不熟悉,还真的要花点功夫。安装sendmail 的内容就不详序了,搜索一下有一大把,这里总结一下用法。
发送过程是:使用PHP分析服务器日志,再用服务器的计划任务每天凌晨执行一下PHP文件,将结果发送到管理员的邮箱。
//PHP文件:sendmail_log.phpif (!(empty($_SERVER["REQUEST_URI"]) && $_SERVER["argc"]>=1)){die("This program must run at server!!");}/*这里写分析日志代码*/$detail = "发送的内容";$subject = "发送的标题 ";exec('(echo "From:myemail@domain.com"; echo "Subject:'.$subject.'"; echo '.$detail.')| /usr/sbin/sendmail "aaa@qq.com,bbb@qq.com";',$aa,$bb);
这里的From将会在收件箱中显示为发信人,可以支持邮件群发,在后台的参数增加目标邮箱用逗句隔开即可。
要注意的一点,最后一条语句,字符串中是不请允许这些字符出现:逗号,小括号,大于号。在测试过程发现含有这些符号,邮件会发不出去。应当是程序这些符号当命令符了,这里我没有非得用这些东东,跳过不用即可。如果真要使用,特别处理一下也可以。
//SH脚本文件:sendmail.sh#!/bin/bashcd /data/web/admin/update/usr/bin/php sendmail_log.php
最后用crontab -e命令在服务器计划任务中添加一下凌晨两点执行这个文件
#!/bin/bash0 3 * * * /data/web/admin/update/sendmail_log.sh//分 时 日 月 当周的第几天 文件 > 正常输出 异常输出
到此完成了服务器分析且用sendmail发送到指定的邮箱中了。 |
|
|