#!/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