Update #19 - VPS Admin Toolkit Menu Script
Date: June 6, 2025
Category: Automation / CLI Utilities
Backlink: Update #18 – RKHunter Daily Scan with Email Alerting and Log Cleanup
🛠️ Features
-
Interactive numbered menu with clear options
-
Rootkit detection and security checks
-
Fail2Ban IP lookup (quick and extended)
-
One-command BookStack backup
-
Update/upgrade/autoremove automation
-
Live process monitoring with
htop
-
Disk usage, uptime, and CPU info summaries
-
Network bandwidth stats using
vnstat
-
Emoji and
figlet
for enhanced terminal UX
📄 Full Script: ~/Scripts/taskmenu.sh
#!/bin/bash
clear
while true; do
figlet "Nate's Toolkit"
echo "📍 Hostname: $(hostname)"
echo "🌐 IP: $(hostname -I | awk '{print $1}')"
echo "🕒 Date: $(date '+%Y-%m-%d %H:%M:%S')"
echo "======================================="
echo "CHOOSE A NUMBER"
echo "0.🚪 Exit"
echo "1.📦 System Info Summary"
echo "2.📅 Show Date"
echo "3.🔨 Run Rootkit Detection"
echo "4.✈️ Update, Upgrade, and Auto Remove"
echo "5.💻 System info and hostname"
echo "6.📊 View System Activity (htop)"
echo "7.💿 View Disk Usage"
echo "8.💻 Run System Health Check and Email Results"
echo "9.📌 Run Fail2Ban IP Lookup Quick"
echo "10.📃 Run Fail2Ban IP Lookup Extended"
echo "11.💿 Run Bookstack Backup Now"
echo "======================================="
echo ""
read -p "Enter your choice: " answer
clear
sleep 0.5
if [ "$answer" = 0 ]; then
echo "Exiting...."
break
elif [ "$answer" = 1 ]; then
echo "📦 System Info Summary"
echo ""
echo "🖥️ CPU Info:"
lscpu | grep 'Model name'
echo ""
echo "📊 System Load:"
uptime
echo ""
echo "📶 Network Usage:"
vnstat
echo ""
read -p "Press Enter to return to the menu..."
clear
elif [ "$answer" = 2 ]; then
figlet $(date)
echo ""
read -p "Press Enter to return to the menu..."
clear
elif [ "$answer" = 3 ]; then
echo "Running Rootkit Checker..."
~/rkhunter.sh
echo "✅ Job Complete"
sleep 5
clear
elif [ "$answer" = 4 ]; then
echo "🔨 Updating System..."
~/Scripts/update.sh
echo "✅ Update Complete"
sleep 5
clear
elif [ "$answer" = 5 ]; then
hostname && uptime
echo ""
read -p "Press Enter to return to the menu..."
clear
elif [ "$answer" = 6 ]; then
echo "📊 View Top Processes (press Q to quit)..."
sleep 1
htop
clear
elif [ "$answer" = 7 ];then
sleep 1
df -h /
echo ""
read -p "Press Enter to return to the menu..."
clear
elif [ "$answer" = 8 ]; then
sudo /usr/local/bin/healthcheck.sh
echo ""
read -p "Press Enter to return to the menu..."
clear
elif [ "$answer" = 9 ]; then
sudo /usr/local/bin/fail2ban-ip-lookup.sh
echo ""
read -p "press Enter to return to the menu..."
clear
elif [ "$answer" = 10 ]; then
sudo /usr/local/bin/fail2ban-ip-lookup-extended.sh
echo ""
read -p "press Enter to return to the menu..."
elif [ "$answer" = 11 ]; then
sudo /usr/local/bin/bookstack-backup.sh
echo ""
read -p "press Enter to return to the menu..."
else
echo "🚫 invalid operation. Please choose a number on the menu."
fi
done
📦 Requirements
Install these tools:
sudo apt install figlet vnstat htop lm-sensors
Ensure supporting scripts exist:
-
~/rkhunter.sh
-
~/Scripts/update.sh
-
/usr/local/bin/healthcheck.sh
-
/usr/local/bin/fail2ban-ip-lookup.sh
-
/usr/local/bin/fail2ban-ip-lookup-extended.sh
-
/usr/local/bin/bookstack-backup.sh
💡 Notes
alias taskmenu='~/Scripts/taskmenu.sh'
Then add to your ~/.bashrc
:
echo "alias taskmenu='~/Scripts/taskmenu.sh'" >> ~/.bashrc
No Comments