Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
ac82e156
Unverified
Commit
ac82e156
authored
Apr 13, 2022
by
Marc Cornellà
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
style(systemadmin): use `function` to avoid alias conflicts
parent
c6f0504c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
23 deletions
+23
-23
systemadmin.plugin.zsh
plugins/systemadmin/systemadmin.plugin.zsh
+23
-23
No files found.
plugins/systemadmin/systemadmin.plugin.zsh
View file @
ac82e156
...
@@ -34,109 +34,109 @@ alias pscpu10='ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr | head
...
@@ -34,109 +34,109 @@ alias pscpu10='ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr | head
alias
hist10
=
'print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10'
alias
hist10
=
'print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10'
# directory LS
# directory LS
dls
()
{
function
dls
()
{
print
-l
*
(
/
)
print
-l
*
(
/
)
}
}
psgrep
()
{
function
psgrep
()
{
ps aux |
grep
"
${
1
:-
.
}
"
|
grep
-v
grep
ps aux |
grep
"
${
1
:-
.
}
"
|
grep
-v
grep
}
}
# Kills any process that matches a regexp passed to it
# Kills any process that matches a regexp passed to it
killit
()
{
function
killit
()
{
ps aux |
grep
-v
"grep"
|
grep
"
$@
"
|
awk
'{print $2}'
| xargs
sudo kill
ps aux |
grep
-v
"grep"
|
grep
"
$@
"
|
awk
'{print $2}'
| xargs
sudo kill
}
}
# list contents of directories in a tree-like format
# list contents of directories in a tree-like format
if
!
((
$+
commands[tree]
))
;
then
if
!
((
$+
commands[tree]
))
;
then
tree
()
{
function
tree
()
{
find
$@
-print
|
sed
-e
's;[^/]*/;|____;g;s;____|; |;g'
find
$@
-print
|
sed
-e
's;[^/]*/;|____;g;s;____|; |;g'
}
}
fi
fi
# Sort connection state
# Sort connection state
sortcons
()
{
function
sortcons
()
{
netstat
-nat
|awk
'{print $6}'
|sort|uniq
-c
|sort
-rn
netstat
-nat
|awk
'{print $6}'
|sort|uniq
-c
|sort
-rn
}
}
# View all 80 Port Connections
# View all 80 Port Connections
con80
()
{
function
con80
()
{
netstat
-nat
|grep
-i
":80"
|wc
-l
netstat
-nat
|grep
-i
":80"
|wc
-l
}
}
# On the connected IP sorted by the number of connections
# On the connected IP sorted by the number of connections
sortconip
()
{
function
sortconip
()
{
netstat
-ntu
|
awk
'{print $5}'
|
cut
-d
:
-f1
|
sort
|
uniq
-c
|
sort
-n
netstat
-ntu
|
awk
'{print $5}'
|
cut
-d
:
-f1
|
sort
|
uniq
-c
|
sort
-n
}
}
# top20 of Find the number of requests on 80 port
# top20 of Find the number of requests on 80 port
req20
()
{
function
req20
()
{
netstat
-anlp
|grep 80|grep tcp|awk
'{print $5}'
|awk
-F
:
'{print $1}'
|sort|uniq
-c
|sort
-nr
|head
-n20
netstat
-anlp
|grep 80|grep tcp|awk
'{print $5}'
|awk
-F
:
'{print $1}'
|sort|uniq
-c
|sort
-nr
|head
-n20
}
}
# top20 of Using tcpdump port 80 access to view
# top20 of Using tcpdump port 80 access to view
http20
()
{
function
http20
()
{
sudo
tcpdump
-i
eth0
-tnn
dst port 80
-c
1000 |
awk
-F
"."
'{print $1"."$2"."$3"."$4}'
|
sort
|
uniq
-c
|
sort
-nr
|head
-n
20
sudo
tcpdump
-i
eth0
-tnn
dst port 80
-c
1000 |
awk
-F
"."
'{print $1"."$2"."$3"."$4}'
|
sort
|
uniq
-c
|
sort
-nr
|head
-n
20
}
}
# top20 of Find time_wait connection
# top20 of Find time_wait connection
timewait20
()
{
function
timewait20
()
{
netstat
-n
|grep TIME_WAIT|awk
'{print $5}'
|sort|uniq
-c
|sort
-rn
|head
-n20
netstat
-n
|grep TIME_WAIT|awk
'{print $5}'
|sort|uniq
-c
|sort
-rn
|head
-n20
}
}
# top20 of Find SYN connection
# top20 of Find SYN connection
syn20
()
{
function
syn20
()
{
netstat
-an
|
grep
SYN |
awk
'{print $5}'
|
awk
-F
:
'{print $1}'
|
sort
|
uniq
-c
|
sort
-nr
|head
-n20
netstat
-an
|
grep
SYN |
awk
'{print $5}'
|
awk
-F
:
'{print $1}'
|
sort
|
uniq
-c
|
sort
-nr
|head
-n20
}
}
# Printing process according to the port number
# Printing process according to the port number
port_pro
()
{
function
port_pro
()
{
netstat
-ntlp
|
grep
"
${
1
:-
.
}
"
|
awk
'{print $7}'
|
cut
-d
/
-f1
netstat
-ntlp
|
grep
"
${
1
:-
.
}
"
|
awk
'{print $7}'
|
cut
-d
/
-f1
}
}
# top10 of gain access to the ip address
# top10 of gain access to the ip address
accessip10
()
{
function
accessip10
()
{
awk
'{counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}'
"
$(
retlog
)
"
awk
'{counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}'
"
$(
retlog
)
"
}
}
# top20 of Most Visited file or page
# top20 of Most Visited file or page
visitpage20
()
{
function
visitpage20
()
{
awk
'{print $11}'
"
$(
retlog
)
"
|sort|uniq
-c
|sort
-nr
|head
-n
20
awk
'{print $11}'
"
$(
retlog
)
"
|sort|uniq
-c
|sort
-nr
|head
-n
20
}
}
# top100 of Page lists the most time-consuming (more than 60 seconds) as well as the corresponding page number of occurrences
# top100 of Page lists the most time-consuming (more than 60 seconds) as well as the corresponding page number of occurrences
consume100
()
{
function
consume100
()
{
awk
'($NF > 60 && $7~/\.php/){print $7}'
"
$(
retlog
)
"
|sort
-n
|uniq
-c
|sort
-nr
|head
-n
100
awk
'($NF > 60 && $7~/\.php/){print $7}'
"
$(
retlog
)
"
|sort
-n
|uniq
-c
|sort
-nr
|head
-n
100
# if django website or other website make by no suffix language
# if django website or other website make by no suffix language
# awk '{print $7}' "$(retlog)" |sort -n|uniq -c|sort -nr|head -n 100
# awk '{print $7}' "$(retlog)" |sort -n|uniq -c|sort -nr|head -n 100
}
}
# Website traffic statistics (G)
# Website traffic statistics (G)
webtraffic
()
{
function
webtraffic
()
{
awk
"{sum+=
$10
} END {print sum/1024/1024/1024}"
"
$(
retlog
)
"
awk
"{sum+=
$10
} END {print sum/1024/1024/1024}"
"
$(
retlog
)
"
}
}
# Statistical connections 404
# Statistical connections 404
c404
()
{
function
c404
()
{
awk
'($9 ~/404/)'
"
$(
retlog
)
"
|
awk
'{print $9,$7}'
|
sort
awk
'($9 ~/404/)'
"
$(
retlog
)
"
|
awk
'{print $9,$7}'
|
sort
}
}
# Statistical http status.
# Statistical http status.
httpstatus
()
{
function
httpstatus
()
{
awk
'{counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}'
"
$(
retlog
)
"
awk
'{counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}'
"
$(
retlog
)
"
}
}
# Delete 0 byte file
# Delete 0 byte file
d0
()
{
function
d0
()
{
find
"
${
1
:-
.
}
"
-type
f
-size
0
-exec
rm
-rf
{}
\;
find
"
${
1
:-
.
}
"
-type
f
-size
0
-exec
rm
-rf
{}
\;
}
}
# gather external ip address
# gather external ip address
geteip
()
{
function
geteip
()
{
curl
-s
-S
-4
https://icanhazip.com
curl
-s
-S
-4
https://icanhazip.com
curl
-s
-S
-6
https://icanhazip.com
curl
-s
-S
-6
https://icanhazip.com
}
}
# determine local IP address(es)
# determine local IP address(es)
getip
()
{
function
getip
()
{
if
((
${
+commands[ip]
}
))
;
then
if
((
${
+commands[ip]
}
))
;
then
ip addr |
awk
'/inet /{print $2}'
|
command grep
-v
127.0.0.1
ip addr |
awk
'/inet /{print $2}'
|
command grep
-v
127.0.0.1
else
else
...
@@ -145,11 +145,11 @@ getip() {
...
@@ -145,11 +145,11 @@ getip() {
}
}
# Clear zombie processes
# Clear zombie processes
clrz
()
{
function
clrz
()
{
ps
-eal
|
awk
'{ if ($2 == "Z") {print $4}}'
|
kill
-9
ps
-eal
|
awk
'{ if ($2 == "Z") {print $4}}'
|
kill
-9
}
}
# Second concurrent
# Second concurrent
conssec
()
{
function
conssec
()
{
awk
'{if($9~/200|30|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}'
"
$(
retlog
)
"
|sort
-k
2
-nr
|head
-n10
awk
'{if($9~/200|30|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}'
"
$(
retlog
)
"
|sort
-k
2
-nr
|head
-n10
}
}
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