-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathfull-status.sh
More file actions
executable file
·70 lines (61 loc) · 2.71 KB
/
full-status.sh
File metadata and controls
executable file
·70 lines (61 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# +----+----+----+----+
# | | | | |
# Author: Mark David Scott Cunningham | M | D | S | C |
# +----+----+----+----+
# Created: 2013-09-15
# Updated: 2013-12-01
#
#
#!/bin/bash
#Get current status script
echo
#SHOW USAGE IF NO INPUTS
if [[ "$@" == "" ]]; then
echo "Usage: ~/./cur-status.sh [username] [line-count]"
echo "Status information will not be specific to a user."; echo
fi
#SET FILENAME
if [[ $1 != "" ]]; then FILE=$1.$(date +%Y.%m.%d-%H.%M).$(hostname).txt
else FILE=NEXSTATUS.$(date +%Y.%m.%d-%H.%M).$(hostname).txt; fi
echo "Output file: $FILE"; echo
#SET LINECOUNT
if [[ $2 != "" ]]; then LINES=$2; else LINES="20"; fi
_newline(){ echo >> $FILE; }
#FREE MEMORY IN MEGABYTES
echo "Listing current free memory .. "; echo "n===== FREE MEMORY (MB) =====" >> $FILE
free -m >> $FILE; _newline
#LOGGED IN USERS
echo "Listing logged in users"; echo "===== CURRENT ACTIVE SSH USERS =====" >> $FILE
w >> $FILE; _newline
#CURRENT STATUS FOR A USER
if [[ $1 != "" ]]; then
echo "Running top -u $1 .."; echo "===== TOP PROCESSES FOR $1 =====" >> $FILE
top -u $1 -b -n1 >> $FILE; _newline
echo "Searching ps aux for $1 .."; echo "===== ALL PROCESSES FOR | grep $1 =====" >> $FILE
ps aux | grep $1 >> $FILE; _newline
echo "Searching mytop for $1 .."; echo "===== MYTOP | grep $1 =====" >> $FILE
mytop -b --nocolor | grep $1 >> $FILE; _newline
echo "Searching php error log for $1 .."; echo "===== PHP LOG | grep $1 =====" >> $FILE
tail -n$LINES /var/log/php-fpm/error.log | grep $1 >> $FILE; _newline
echo "Searching httpd error log for $1 .."; echo "===== APACHE LOG | grep $1 =====" >> $FILE
tail -n$LINES /var/log/httpd/error_log | grep $1 >> $FILE; _newline
echo "Searching SSH auth log for $1 .."
tail -n$LINES /var/log/secure | grep $1 >> $FILE; _newline
fi
#CURRENT STATUS OVERVIEW
if [[ -f /usr/bin/atop ]];
then echo "Running atop .."; echo "===== CURRENT ATOP OUTPUT =====" >> $FILE
atop 1 1 >> $FILE; _newline;
else echo "Running top .."; echo "===== CURRENT TOP OUTPUT =====" >> $FILE
top -b -n1 >> $FILE; _newline;
fi
echo "Running mytop .."; echo "===== TOP MYSQL QUERIES =====" >> $FILE
mytop -b --nocolor | head -n$LINES >> $FILE; _newline
echo "Tailing php and httpd logs .."; echo "===== PHP & APACHE LOGS =====" >> $FILE
tail -n$LINES /var/log/php-fpm/error.log /var/log/httpd/error_log >> $FILE; _newline
echo "Tailing SSH Auth Log"; echo "===== SSH AUTH LOG =====" >> $FILE
grep -v 'Did not receive' /var/log/secure | tail -n$LINES >> $FILE; _newline
echo "Tailing ftp logs .."; echo "===== FTP LOGS =====" >> $FILE
tail -n$LINES /var/log/proftpd/auth.log /var/log/proftpd/sftp.log /var/log/proftpd/tls.log /var/log/proftpd/xfer.log >> $FILE; _newline
echo
#less $FILE