Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
etersoft-admin-essentials
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
etersoft-admin-essentials
Commits
f9019a81
Commit
f9019a81
authored
Feb 01, 2013
by
Алексей Дмитров
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Оптимизация кода sites_on_host03.sh
parent
af8be28b
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
55 additions
and
112 deletions
+55
-112
sites_on_host03.sh
web/sites_on_host03.sh
+55
-112
No files found.
web/sites_on_host03.sh
View file @
f9019a81
...
...
@@ -18,16 +18,10 @@ function FatalError() {
exit
}
function
logMessages
()
{
if
[
$#
-ne
2
]
;
then
FatalError
"wrong number of arguments"
;
fi
echo
"
$1
:
$2
"
}
function
output
()
{
if
[
$#
-lt
3
]
;
then
FatalError
"wrong number of arguments"
;
fi
printf
"%-3s %-30s %-25s %s
\n
"
$1
$2
$3
$4
printf
"%-3s %-30s %-25s %s
\n
"
"
$1
"
"
$2
"
"
$3
"
"
$4
"
}
function
checkEterhostIP
()
{
...
...
@@ -52,7 +46,7 @@ function checkEterhostIP() {
function
checkEterhostNS
()
{
if
[
$#
-ne
1
]
;
then
FatalError
"wrong number of arguments"
;
fi
if
whois
$1
|
grep
-i
"ns[1|4].etersoft.ru"
&>/dev/null
if
whois
"
$1
"
|
grep
-i
"ns[1|4].etersoft.ru"
&>/dev/null
then
return
1
fi
...
...
@@ -63,9 +57,9 @@ function checkEterhostNS() {
function
checkEterhostNetmask
()
{
if
[
$#
-ne
2
]
;
then
FatalError
"wrong number of arguments"
;
fi
netmask
=
$(
echo
$2
|
sed
"s/
\(
.*
\)\/\(
.*
\)
/
\2
/g"
)
netmask
=
$(
echo
"
$2
"
|
sed
"s/
\(
.*
\)\/\(
.*
\)
/
\2
/g"
)
if
[
"
$(
ipcalc
$1
/
$netmask
|
grep
Network: |
awk
'{print $2}'
)
"
!=
"
$2
"
]
if
[
"
$(
ipcalc
"
$1
/
$netmask
"
|
grep
Network: |
awk
'{print $2}'
)
"
!=
"
$2
"
]
then
return
1
fi
...
...
@@ -76,84 +70,68 @@ function checkEterhostNetmask() {
function
getExpirationTime
()
{
if
[
$#
-ne
1
]
;
then
FatalError
"wrong number of arguments"
;
fi
echo
$(
whois
$1
|
grep
-e
"
\(
Expiration Date
\|
paid-till
\)
"
|
sed
-e
"s/
\(
Expiration Date
\|
paid-till
\)
:
\(
.*
\)
/
\2
/g"
|
awk
'{print $1}'
)
echo
$(
whois
"
$1
"
|
grep
-e
"
\(
Expiration Date
\|
paid-till
\)
"
|
sed
-e
"s/
\(
Expiration Date
\|
paid-till
\)
:
\(
.*
\)
/
\2
/g"
|
awk
'{print $1}'
)
}
function
getServerName
()
{
if
[
$#
-ne
1
]
;
then
FatalError
"wrong number of arguments"
;
fi
echo
$(
grep
-i
-w
ServerName
$1
|
sed
-e
"s/^ServerName //g"
-e
"s/
$/
/g"
-e
"s/[
\t\n
+]//g"
|
tr
"[:upper:]"
"[:lower:]"
)
echo
$(
grep
-i
-w
ServerName
"
$1
"
|
sed
-e
"s/^ServerName //g"
-e
"s/
$/
/g"
-e
"s/[
\t\n
+]//g"
|
tr
"[:upper:]"
"[:lower:]"
)
}
function
getUserName
()
{
if
[
$#
-ne
1
]
;
then
FatalError
"wrong number of arguments"
;
fi
echo
$(
grep
-i
-w
DocumentRoot
$1
|
sed
-e
"s/^DocumentRoot
\"\/
home
\/\(
.*
\)\/
www
\/\(
.*
\)\"
/
\1
/g"
)
echo
$(
grep
-i
-w
DocumentRoot
"
$1
"
|
sed
-e
"s/^DocumentRoot
\"\/
home
\/\(
.*
\)\/
www
\/\(
.*
\)\"
/
\1
/g"
)
}
function
getSiteIpByDomain
()
{
if
[
$#
-ne
1
]
;
then
FatalError
"wrong number of arguments"
;
fi
#echo $(resolve $1 2>/dev/null | sed -e "s/^.*: //g")
echo
$(
dig @8.8.8.8
$1
+short
)
#echo $(resolve "$1" 2>/dev/null | sed -e "s/^.*: //g")
echo
$(
dig @8.8.8.8
"
$1
"
+short
)
}
function
SaveSite
()
{
((
Counts[
$1
]
++
))
eval
"Sites
${
ArrayParts
[
$1
]
}
[
${
Counts
[
$1
]
}
]=
\"\$
2
\"
"
eval
"Users
${
ArrayParts
[
$1
]
}
[
${
Counts
[
$1
]
}
]=
\"\$
3
\"
"
eval
"Exp
${
ArrayParts
[
$1
]
}
[
${
Counts
[
$1
]
}
]=
\"\$
4
\"
"
}
function
OutputResultList
()
{
((
count_total
=
$
count_ok
+
$count_deleted
+
$count_not_eter
))
((
count_total
=
$
{
Counts
[
$OK
]
}
+
${
Counts
[
$DELETED
]
}
+
${
Counts
[
$NOTETER
]
}
))
echo
"-----------------------------------"
echo
"----- Список сайтов (host03) ------"
title1
=
"#"
title2
=
"WWW:"
title3
=
"User:"
title4
=
"paid-till:"
declare
-a
Title
=(
[
0]
=
"#"
[
1]
=
"WWW:"
[
2]
=
"User:"
[
3]
=
"paid-till:"
)
declare
-a
Infos
=(
[
$OK
]=
"Рабочие сайты"
[
$DELETED
]=
"Недоступные сайты"
[
$NOTETER
]=
"Не находятся в сети Etersoft"
[
$NOTETERNS
]=
"NS записи не принадлежат Etersoft"
)
index
=
0
while
[
$index
-ne
4
]
for
parts
in
${
ArrayParts
[@]
}
do
echo
"-----------------------------------"
echo
"
$((
index+1
))
.
${
Infos
[
$index
]
}
:
${
Counts
[
$index
]
}
"
if
[
$index
-eq
0
]
;
then
echo
"1) Рабочие сайты:
$count_ok
"
SitesArray
=(
"
${
SitesOK
[@]
}
"
)
UsersArray
=(
"
${
UsersOK
[@]
}
"
)
ExpArray
=(
"
${
ExpOK
[@]
}
"
)
fi
if
[
$index
-eq
1
]
;
then
echo
"2) Недоступные сайты:
$count_deleted
"
SitesArray
=(
"
${
SitesDeleted
[@]
}
"
)
UsersArray
=(
"
${
UsersDeleted
[@]
}
"
)
ExpArray
=(
"
${
ExpDeleted
[@]
}
"
)
fi
if
[
$index
-eq
2
]
;
then
echo
"3) Не находятся в сети Etersoft:
$count_not_eter
"
SitesArray
=(
"
${
SitesNotEter
[@]
}
"
)
UsersArray
=(
"
${
UsersNotEter
[@]
}
"
)
ExpArray
=(
"
${
ExpNotEter
[@]
}
"
)
fi
if
[
$index
-eq
3
]
;
then
echo
"------------( Ошибки )-------------"
echo
"4) NS записи не принадлежат Etersoft:
$count_not_eter_ns
"
SitesArray
=(
"
${
SitesNotEterNS
[@]
}
"
)
UsersArray
=(
"
${
UsersNotEterNS
[@]
}
"
)
ExpArray
=(
"
${
ExpNotEterNS
[@]
}
"
)
fi
SitesArray
=(
$(
eval echo
"
\$
{Sites
${
parts
}
[@]}"
)
)
UsersArray
=(
$(
eval echo
"
\$
{Users
${
parts
}
[@]}"
)
)
ExpArray
=(
$(
eval echo
"
\$
{Exp
${
parts
}
[@]}"
)
)
i
=
0
output
$title1
$title2
$title3
$title4
output
"
${
Title
[0]
}
"
"
${
Title
[1]
}
"
"
${
Title
[2]
}
"
"
${
Title
[3]
}
"
for
site
in
${
SitesArray
[@]
}
do
user
=
${
UsersArray
[
$i
]
}
exp
=
${
ExpArray
[
$i
]
}
output
$((
$i
+
1
))
$site
$user
$exp
output
"
$((
i+1
))
"
"
$site
"
"
${
UsersArray
[
$i
]
}
"
"
${
ExpArray
[
$i
]
}
"
((
i++
))
done
...
...
@@ -171,90 +149,55 @@ function OutputResultList() {
Eterhost
=
"91.232.225.0/24 212.176.200.16/28 89.104.102.0/28 87.249.47.40/29"
cd
"/etc/httpd2/conf/sites-enabled"
declare
-a
SitesOK
declare
-a
SitesDeleted
declare
-a
SitesNotEter
declare
-a
SitesNotEterNS
declare
-a
SitesArray
declare
-a
UsersOK
declare
-a
UsersDeleted
declare
-a
UsersNotEter
declare
-a
UsersNotEterNS
declare
-a
UsersArray
declare
-a
ExpOK
declare
-a
ExpDeleted
declare
-a
ExpNotEter
declare
-a
ExpNotEterNS
declare
-a
ExpArray
count_total
=
0
count_ok
=
0
count_deleted
=
0
count_not_eter
=
0
count_not_eter_ns
=
0
OK
=
0
DELETED
=
1
NOTETER
=
2
NOTETERNS
=
3
declare
-a
ArrayParts
=(
[
$OK
]=
"OK"
[
$DELETED
]=
"Deleted"
[
$NOTETER
]=
"NotEter"
[
$NOTETERNS
]=
"NotEterNS"
)
timer &
timer_pid
=
$!
for
file
in
*
.conf
do
servername
=
$(
getServerName
$file
)
username
=
$(
getUserName
$file
)
servername
=
$(
getServerName
"
$file
"
)
username
=
$(
getUserName
"
$file
"
)
if
[
-z
"
$servername
"
]
then
continue
fi
ip
=
$(
getSiteIpByDomain
$servername
)
expiration
=
$(
getExpirationTime
$servername
)
ip
=
$(
getSiteIpByDomain
"
$servername
"
)
expiration
=
$(
getExpirationTime
"
$servername
"
)
if
[
-z
"
$ip
"
]
then
#logMessages "$servername" "не отвечает"
SitesDeleted[
$count_deleted
]=
$servername
UsersDeleted[
$count_deleted
]=
$username
ExpDeleted[
$count_deleted
]=
$expiration
((
count_deleted++
))
SaveSite
"
$DELETED
"
"
$servername
"
"
$username
"
"
$expiration
"
continue
fi
checkEterhostIP
$ip
checkEterhostIP
"
$ip
"
if
[
$?
-eq
0
]
then
#logMessages "$servername" "сайт не находится в сети Etersoft"
SitesNotEter[
$count_not_eter
]=
$servername
UsersNotEter[
$count_not_eter
]=
$username
ExpNotEter[
$count_not_eter
]=
$expiration
((
count_not_eter++
))
SaveSite
"
$NOTETER
"
"
$servername
"
"
$username
"
"
$expiration
"
continue
fi
checkEterhostNS
$servername
checkEterhostNS
"
$servername
"
if
[
$?
-eq
0
]
then
#logMessages "$servername" "NS записи не принадлежат Etersoft"
SitesNotEterNS[
$count_not_eter_ns
]=
$servername
UsersNotEterNS[
$count_not_eter_ns
]=
$username
ExpNotEterNS[
$count_not_eter_ns
]=
$expiration
((
count_not_eter_ns++
))
SaveSite
"
$NOTETERNS
"
"
$servername
"
"
$username
"
"
$expiration
"
fi
#logMessages "$servername" "OK"
SitesOK[
$count_ok
]=
$servername
UsersOK[
$count_ok
]=
$username
ExpOK[
$count_ok
]=
$expiration
((
count_ok++
))
SaveSite
"
$OK
"
"
$servername
"
"
$username
"
"
$expiration
"
sleep
1
done
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment