[Linux] 获取出日志中的邮箱shell
需求是把所有的日志中邮箱获取出来,根据指定关键字过滤,邮箱的格式是\txxx@xxx\t的格式,日志的存放是按照日期作为目录
#!/bin/bash logBasePath="/data1/mailLog/app/kafka/"; monthYearDay=`date -d "1 day ago" +"%Y-%m-%d"`; #安卓每日邮箱个数 logPath="${logBasePath}${monthYearDay}/api-mail-sina-com-cn.log"; tmpFile="/tmp/${monthYearDay}.android.email.log"; echo "start android email..."; cat $logPath|grep '2026078627'|grep -oP '\\t[^\\]+@.*?\\t'|sed 's/\\t//g'|uniq|sort -u > $tmpFile; echo $tmpFile; androidEmailNum=`wc -l ${tmpFile}`; #IOS每日邮箱个数 tmpFile="/tmp/${monthYearDay}.ios.email.log"; echo "start ios email..."; cat $logPath|grep '2503566089'|grep -oP '\\t[^\\]+@.*?\\t'|sed 's/\\t//g'|uniq|sort -u > $tmpFile; echo $tmpFile; iosEmailNum=`wc -l ${tmpFile}`; #安卓每日设备数 tmpFile="/tmp/${monthYearDay}.android.device.log"; echo "start android device..."; cat $logPath|grep '2026078627'|grep -oP "device_id=[^&\"]+"|uniq|sort -u > $tmpFile; echo $tmpFile; androidDeviceNum=`wc -l ${tmpFile}`; #ios每日设备数 tmpFile="/tmp/${monthYearDay}.ios.device.log"; echo "start ios device..."; cat $logPath|grep '2503566089'|grep -oP "device_id=[^&\"]+"|uniq|sort -u > $tmpFile; echo $tmpFile; iosDeviceNum=`wc -l ${tmpFile}`; mailContent=" Android每日邮箱账号活跃数:<br/><br/>${androidEmailNum}<br/><br/>IOS每日邮箱账号活跃数:<br/><br/>${iosEmailNum}<br/><br/> Android每日设备活跃数:<br/><br/>${androidDeviceNum}<br/><br/>IOS每日设备活跃数:<br/><br/>${iosDeviceNum} " echo $mailContent; php /usr/local/sinamail/tools/new/sumMobileDevice/sumMobileDevice.php "${mailContent}"
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网