linux下实现每天自动发送服务器日志到邮箱(使用sendmail)
2010-12-01 20:13
531 查看
今天做了一个将服务器日志分析,且将结果发送到管理员邮箱的功能。如果不熟悉,还真的要花点功夫。安装sendmail 的内容就不详序了,搜索一下有一大把,这里总结一下用法。
发送过程是:使用PHP分析服务器日志,再用服务器的计划任务每天凌晨执行一下PHP文件,将结果发送到管理员的邮箱。
这里的From将会在收件箱中显示为发信人,可以支持邮件群发,在后台的参数增加目标邮箱用逗句隔开即可。
要注意的一点,最后一条语句,字符串中是不请允许这些字符出现:逗号,小括号,大于号。在测试过程发现含有这些符号,邮件会发不出去。应当是程序这些符号当命令符了,这里我没有非得用这些东东,跳过不用即可。如果真要使用,特别处理一下也可以。
最后用crontab -e命令在服务器计划任务中添加一下凌晨两点执行这个文件
到此完成了服务器分析且用sendmail发送到指定的邮箱中了。
发送过程是:使用PHP分析服务器日志,再用服务器的计划任务每天凌晨执行一下PHP文件,将结果发送到管理员的邮箱。
//PHP文件:sendmail_log.php if (!(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/bash cd /data/web/admin/update /usr/bin/php sendmail_log.php
最后用crontab -e命令在服务器计划任务中添加一下凌晨两点执行这个文件
#!/bin/bash 0 3 * * * /data/web/admin/update/sendmail_log.sh //分 时 日 月 当周的第几天 文件 > 正常输出 异常输出
到此完成了服务器分析且用sendmail发送到指定的邮箱中了。
相关文章推荐
- Linux下使用rsyslog部署日志服务器 && 记录history并发送到rsyslog服务器
- linux使用shell脚本实现自动登录scp传输文件到其他服务器
- nodejs实现,每天定时自动读取数据库数据-生成excel表格-发送给老板邮箱
- nodejs实现,每天定时自动读取数据库数据-生成excel表格-发送给老板邮箱(promise版)
- 在linux下使用webalizer与awstats实现apache服务器的日志分析
- vbs-获取公网IP调用邮件控件实现邮件的自动发送到指定邮箱-可直接使用复制使用
- linux下使用crontab如何实现mysql数据库每天自动备份定时备份
- Linux下使用rsync实现数据在不同服务器之前增量自动备份
- c#实现服务器性能监控并发送邮件保存日志
- C#实现SMTP服务器,使用TCP命令发送Email
- 使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理
- Java-使用JavaMail发送一封邮件给用户邮箱功能实现
- Ubuntu下使用SMTP服务器发送邮件到外部邮箱
- linux把日志发送到日志服务器上
- asp定时自动查询自己的外网ip并发送到邮箱【邮件的使用的组件是jmail】
- Linux使用expect实现自动登录的脚本
- Linux使用Shell脚本实现ftp的自动上传下载(转)
- linux下使用共享内存实现客户端/服务器
- 实现linux 服务器自动批量化管理
- 使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理