Helpful Server Management Script

Enjoy this simple text based menu driven script to help manage your server provided By Vertahost.com

#!/usr/bin/env bash
# Simple Server Management Script
# Provides basic administrative tasks via a menu-driven interface
#Designed by Vertahost.com

# Check if running as root
if [[ $EUID -ne 0 ]]; then
  echo "This script must be run as root."
  exit 1
fi

# Functions for menu options
show_uptime() {
  echo "\n--- System Uptime ---"
  uptime
}

show_disk_usage() {
  echo "\n--- Disk Usage ---"
  df -h
}

show_memory_usage() {
  echo "\n--- Memory Usage ---"
  free -h
}

update_system() {
  echo "\nUpdating package lists and upgrading packages..."
  if command -v apt >/dev/null 2>&1; then
    apt update && apt upgrade -y
  elif command -v yum >/dev/null 2>&1; then
    yum update -y
  else
    echo "Unsupported package manager."
  fi
}

manage_service() {
  read -rp "Enter service name: " svc
  echo "Select action for $svc:"
  select action in start stop restart status; do
    case $action in
      start|stop|restart|status)
        systemctl $action $svc
        break
        ;;
      *) echo "Invalid choice.";;
    esac
  done
}

add_user() {
  read -rp "Enter new username: " username
  adduser "$username"
}

remove_user() {
  read -rp "Enter username to remove: " username
  deluser "$username"
}

# Main menu loop
while true; do
  echo -e "\n=== Server Management Menu ==="
  echo "1) Show uptime"
  echo "2) Show disk usage"
  echo "3) Show memory usage"
  echo "4) Update system"
  echo "5) Manage a service"
  echo "6) Add a user"
  echo "7) Remove a user"
  echo "0) Exit"
  read -rp "Choose an option: " choice
  case $choice in
    1) show_uptime;;
    2) show_disk_usage;;
    3) show_memory_usage;;
    4) update_system;;
    5) manage_service;;
    6) add_user;;
    7) remove_user;;
    0) echo "Goodbye!"; exit 0;;
    *) echo "Invalid option.";;
  esac
done


Sponsored

Vertahost.com your best match for web hosting and 24/7 support