#!/bin/bash
#проверка сайтов по списку

echo "<<<---------------- www-check ------------------->>>"

SERVERFILE='/tmp/list/all.list'
/usr/local/ispmgr/sbin/mgrctl -m ispmgr wwwdomain | cut -d\  -f1  | cut -d\= -f2 >$SERVERFILE

ADMIN="you@mail.ru"
status_file="/tmp/list/www_status.txt"

DB_NAME=$(echo $DOMAIN | sed -e 's/\./_/g')

find $status_file -delete

date2stamp () {
    date --utc --date "$1" +%s
}

stamp2date (){
    date --utc --date "1970-01-01 $1 sec" "+%Y-%m-%d %T"
}

dateDiff (){
    case $1 in
        -s)   sec=1;      shift;;
        -m)   sec=60;     shift;;
        -h)   sec=3600;   shift;;
        -d)   sec=86400;  shift;;
        *)    sec=86400;;
    esac
    dte1=$(date2stamp $1)
    dte2=$(date2stamp $2)
    diffSec=$((dte2-dte1))
    #if ((diffSec < 0)); then abs=-1; else abs=1; fi
    echo $((diffSec/sec))
}



while read DOMAIN

   
   do      
   
   DOMAIN=`echo ${DOMAIN} | CHARSET=UTF-8 idn --quiet` #преобразовываем кирилические домены

	otvet=`curl -o /dev/null --silent --head --write-out '%{http_code}\n' http://${DOMAIN}`

	
	if [ "$otvet" != "200" -a "$otvet" != "301" -a "$otvet" != "302" -a "$otvet" != "503" -a "$otvet" != "401" ];	then
	
	if [ "$otvet" == "400" ]; then kod="Домен не продлен "; else kod=`curl -I -s "http://$DOMAIN" | grep -i "HTTP/" | sed -e 's/HTTP\/1.1//g'`; fi

	
		echo "$DOMAIN" : $otvet - $kod
		echo "http://$DOMAIN" : $otvet - $kod>> $status_file
		#curl http://${DOMAIN} | grep -i "<title>"

	
	fi



done < $SERVERFILE

echo "<<<---------------- выходит срок доменов ------------------->>>" 
echo "<<<********** выходит срок доменов *************>>>" >> $status_file

while read DOMAIN

   
   do                  
   
   DOMAIN=`echo ${DOMAIN} | CHARSET=UTF-8 idn --quiet` #преобразовываем кирилические домены

	poddomen=`echo ${DOMAIN} | cut -d\.  -f3`

    if [ "$poddomen" == "" ]; then 

		otvet=`curl -o /dev/null --silent --head --write-out '%{http_code}\n' http://${DOMAIN}`

		paidtill=`whois -l ${DOMAIN} | grep paid | cut -d\:  -f2 | sed 's/^[ \t]*//;s/[ \t]*$//'`
		if [ "$paidtill" == "" ]; then paidtill=`whois ${DOMAIN} | grep Expiry | cut -d\:  -f2 | sed 's/^[ \t]*//;s/[ \t]*$//' | cut -d\T  -f1 `; fi
		if [ "$paidtill" == "" ]; then paidtill=`whois ${DOMAIN} | grep "Expiration date" | cut -d\:  -f2 | sed 's/^[ \t]*//;s/[ \t]*$//'`; fi	
    if [ "$paidtill" == "" ]; then paidtill=`whois ${DOMAIN} | grep "Registration Expiration Date" | cut -d\:  -f2 | sed 's/^[ \t]*//;s/[ \t]*$//'`; fi	

			
           #date1=$(date -d "`date +%m/%d/%y` +14 day" +%s)
		   date2=`echo $paidtill | sed "s/\./-/g"`  
       
       #echo $date2
        
           dnei=`dateDiff -d "now" "$date2"`		    
       #echo $dnei
       
		   if [ "$dnei" -lt "14" ] ; then echo "$DOMAIN - $paidtill - через $dnei дней"  
           echo "$DOMAIN - $paidtill - через $dnei дней" >> $status_file
           fi

		

	fi
	
	
done < $SERVERFILE

echo "------- подбор паролей --------------" >> $status_file
echo `sudo cat /var/log/auth.log* | grep 'Failed password' | grep sshd | awk '{print $1,$2}' | sort -k 1,1M -k 2n | uniq -c` >> $status_file

echo "------- место на дисках --------------" >> $status_file
echo `df -h | grep md2` >> $status_file

mutt -s "www-status" $ADMIN < $status_file