59 lines
1.7 KiB
Bash
59 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
# Install motd scripts
|
|
|
|
[[ -f functions ]] && . functions || exit 1
|
|
|
|
is_root
|
|
|
|
|
|
profiledir="/etc/profile.d/"
|
|
|
|
[[ ! -d "$profiledir" ]] && mkdir -p "$profiledir"
|
|
|
|
|
|
cat <<- EOF > "$profiledir/motd"
|
|
#!/usr/bin/env bash
|
|
|
|
USER=$(whoami)
|
|
HOSTNAME=$(uname -n)
|
|
ARRAY=$(df -Ph | grep array | awk '{print $4}' | tr -d '\n')
|
|
ROOT=$(df -Ph | grep sdb3 | awk '{print $4}' | tr -d '\n')
|
|
BACKUP=$(df -Ph | grep backup | awk '{print $4}' | tr -d '\n')
|
|
|
|
MEMORY1=$(free -t -m | grep "buffers/cache" | awk '{print $3" MB";}')
|
|
MEMORY2=$(free -t -m | grep "Mem" | awk '{print $2" MB";}')
|
|
PSA=$(ps -Afl | wc -l)
|
|
|
|
#System uptime
|
|
uptime=$(cut -f1 -d. /proc/uptime)
|
|
upDays=$((uptime/60/60/24))
|
|
upHours=$((uptime/60/60%24))
|
|
upMins=$((uptime/60%60))
|
|
upSecs=$((uptime%60))
|
|
|
|
#System load
|
|
LOAD1=$(awk {'print $1'} /proc/loadavg)
|
|
LOAD5=$(awk {'print $2'} /proc/loadavg)
|
|
LOAD15=$(awk {'print $3'} /proc/loadavg)
|
|
|
|
echo "
|
|
===========================================================================
|
|
- Hostname............: $HOSTNAME
|
|
- Release.............: $(cat /etc/redhat-release)
|
|
- Users...............: Currently $(users | wc -w) user(s) logged on
|
|
===========================================================================
|
|
- Current user........: $USER
|
|
- CPU usage...........: $LOAD1, $LOAD5, $LOAD15 (1, 5, 15 min)
|
|
- Memory used.........: $MEMORY1 / $MEMORY2
|
|
- Swap in use.........: $(free -m | tail -n 1 | awk '{print $3}') MB
|
|
- Processes...........: $PSA running
|
|
- System uptime.......: $upDays days $upHours hours $upMins minutes $upSecs seconds
|
|
- Disk space ROOT.....: $ROOT remaining
|
|
- Disk space ARRAY....: $ARRAY remaining
|
|
- Disk space BACKUP...: $BACKUP remaining
|
|
===========================================================================
|
|
"
|
|
EOF
|
|
|
|
|
|
exit $? |