加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

socket服务器上的脚本

发布时间:2020-12-15 07:06:56 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/env bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATHshopt -s extglobclear;socketpath="/path1 /p

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
shopt -s extglob
clear;
socketpath="/path1 /path2 /path3"
log_cut() {
	for i in $(ls $1/LOG) ; do
		if [ $(date +"%Y%m%d") != $i] ; then
			wc -c -l $1/LOG/$i/* |awk '{printf "%s,%s,%sn",$3,$1,$2}'|sort|sed '1 ifilename,rows,byte'|sed "1 i$1" >> /var/log/socketlog/report/report$i.csv
			for j in $(ls $1/LOG/$i) ; do
				cd $1/LOG/$i
				case $j in
					@(getBlackList|Timetick|timetickEvent).txt)
						awk -F '&;|=|-' '{++S[$2]} END {for(a in S) printf "%s,a,S[a]}' $j|sort |sed '1 iDevid,Times' > $2/${j%%.*}$i.csv ;;
					@(getTime|getTrackPriceWithID|blaNamLiReq).txt)
						awk -F '=|-' '{++S[$2]} END {for(a in S) printf "%s,Times'> $2/${j%%.*}$i.csv ;;
					"cardSectionPrice.do.txt")
						awk -F '=|-|#' '/data/ {if(/html/){printf "%s,falsen",$2}else{printf "%s,"%s",succeedn",$2,$4}}' $j|sed '1 iDevid,Data,Stats'>$2/${j%%.*}$i.csv ;;
					@(trans|InceptData).txt)
						awk -F '&;|=|-' '{if(/T|true/){printf "%s,Tn",$4}else{printf "%s,Fn",$4}}' $j|sed '1 iData,Userid,Stats'> $2/${j%%.*}$i.txt ;;
					"blaNamLisDown.txt")
						awk -F '=|-' '/pid/ {++S[$2]} END {for(a in S) printf "%s,Times'> $2/${j%%.*}$i.csv ;;
					"corpCostData.txt")
						awk '{printf "%sn",$2}' $j |sed '1 iDevid'> $2/${j%%.*}$i.txt ;;
					*.txt)
						cp $j $2/${j%%.*}_$i.txt ;;
					*.hlog)
						echo $j is hlog ;;
					*)
						echo $j ;;
				esac
			done
			rm -R $1/LOG/$i
		fi
	done
}
mymail(){
	mailuser="[email?protected]"
	day=$(date -d "yesterday" +"%Y%m%d")
	txt=$(cat /var/log/socketlog/report/report$day.csv |awk -F "," '{if(/txt/){printf "%s,request %s times,%s byte<br> n",$3}else if(!/hlog/){printf "<br>n%s,%s<br>",$3}}'|sed 's/.txt//g')
	logfile="/var/log/socketlog/report/report$day.csv"
	echo $txt |mutt -s "About the state of the interface from $day " -e 'set content_type="text/html"' $mailuser -a $logfile
}

[ ! -d /var/log/socketlog ] && mkdir /var/log/socketlog
[ ! -d /var/log/socketlog/report ] && mkdir /var/log/socketlog/report
for k in ${socketpath[@]} ; do
	[ -f "$k/asmsocket" ] && sfile="asmsocket" || sfile="ddtsocket"
	sport=`grep "Port" $k/config.txt| awk -F "=" '{print $2}'|sed 's/r//'`
	[ ! -d /var/log/socketlog/$sport ] && mkdir /var/log/socketlog/$sport
	if [ `netstat -tnl |awk '{print $4}'|awk -F ":" '{print $2}'|grep "$sport"` ] ; then
		echo "$k/$sfile is starting now"
	else
		$k/$sfile 2>/dev/null &
	fi
	log_cut $k /var/log/socketlog/$sport
done
[ "00" -le $(date +"%H") -a "01" -ge $(date +"%H") ] && mymail

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读