# 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](https://docs.natenetworks.com/books/02-project-notes/page/update-18-rkhunter-daily-scan-with-email-alerting-and-log-cleanup)

---

[![image.png](https://docs.natenetworks.com/uploads/images/gallery/2025-06/scaled-1680-/nOOOxf9P7UGdmKjd-image.png)](https://docs.natenetworks.com/uploads/images/gallery/2025-06/nOOOxf9P7UGdmKjd-image.png)

### 🛠️ 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`

```bash
#!/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:

```bash
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

To launch the menu easily:

```bash
alias taskmenu='~/Scripts/taskmenu.sh'
```

Then add to your `~/.bashrc`:

```bash
echo "alias taskmenu='~/Scripts/taskmenu.sh'" >> ~/.bashrc
```