mirror of
https://github.com/acedanger/shell.git
synced 2025-12-05 22:50:18 -08:00
refactor: Update output formatting and enhance log retrieval in plex.sh
This commit is contained in:
59
plex/plex.sh
59
plex/plex.sh
@@ -68,28 +68,27 @@ readonly RESET='\033[0m'
|
||||
readonly PLEX_SERVICE="plexmediaserver"
|
||||
SCRIPT_NAME="$(basename "$0")"
|
||||
readonly SCRIPT_NAME
|
||||
readonly PLEX_WEB_URL="http://localhost:32400/web"
|
||||
|
||||
# 🎭 Unicode symbols for fancy output
|
||||
readonly CHECKMARK="✅"
|
||||
readonly CROSS="❌"
|
||||
readonly ROCKET="🚀"
|
||||
readonly STOP_SIGN="🛑"
|
||||
readonly RECYCLE="♻️"
|
||||
readonly INFO="ℹ️"
|
||||
readonly HOURGLASS="⏳"
|
||||
readonly SPARKLES="✨"
|
||||
# 🎭 ASCII symbols for compatible output
|
||||
readonly CHECKMARK="✓"
|
||||
readonly CROSS="✗"
|
||||
readonly ROCKET="▶"
|
||||
readonly STOP_SIGN="■"
|
||||
readonly RECYCLE="↻"
|
||||
readonly INFO="ℹ"
|
||||
readonly HOURGLASS="⌛"
|
||||
readonly SPARKLES="✦"
|
||||
|
||||
# 📊 Function to print fancy headers
|
||||
print_header() {
|
||||
echo -e "\n${PURPLE}${BOLD}╔══════════════════════════════════════════════════════════════╗${RESET}"
|
||||
echo -e "${PURPLE}${BOLD}║ ${SPARKLES} PLEX MEDIA SERVER ${SPARKLES} ║${RESET}"
|
||||
echo -e "${PURPLE}${BOLD}╚══════════════════════════════════════════════════════════════╝${RESET}\n"
|
||||
echo -e "\n${PURPLE}${BOLD}+==============================================================+${RESET}"
|
||||
echo -e "${PURPLE}${BOLD}| ${SPARKLES} PLEX MEDIA SERVER ${SPARKLES} |${RESET}"
|
||||
echo -e "${PURPLE}${BOLD}+==============================================================+${RESET}\n"
|
||||
}
|
||||
|
||||
# 🎉 Function to print completion footer
|
||||
print_footer() {
|
||||
echo -e "\n${DIM}${CYAN}╰─── Operation completed ${SPARKLES} ───╯${RESET}\n"
|
||||
echo -e "\n${DIM}${CYAN}\\--- Operation completed ${SPARKLES} ---/${RESET}\n"
|
||||
}
|
||||
|
||||
# 🎯 Function to print status with style
|
||||
@@ -135,7 +134,6 @@ start_plex() {
|
||||
|
||||
if systemctl is-active --quiet "$PLEX_SERVICE"; then
|
||||
print_status "${CHECKMARK}" "Plex Media Server started successfully!" "${GREEN}"
|
||||
echo -e "${DIM}${CYAN}Access your server at: ${WHITE}${PLEX_WEB_URL}${RESET}"
|
||||
print_footer
|
||||
else
|
||||
print_status "${CROSS}" "Failed to start Plex Media Server!" "${RED}"
|
||||
@@ -183,9 +181,9 @@ show_detailed_status() {
|
||||
local service_status
|
||||
service_status=$(systemctl is-active "$PLEX_SERVICE" 2>/dev/null || echo "inactive")
|
||||
|
||||
echo -e "\n${BOLD}${BLUE}╔══════════════════════════════════════════════════════════════╗${RESET}"
|
||||
echo -e "${BOLD}${BLUE}║ SERVICE STATUS ║${RESET}"
|
||||
echo -e "${BOLD}${BLUE}╚══════════════════════════════════════════════════════════════╝${RESET}"
|
||||
echo -e "\n${BOLD}${BLUE}+==============================================================+${RESET}"
|
||||
echo -e "${BOLD}${BLUE}| SERVICE STATUS |${RESET}"
|
||||
echo -e "${BOLD}${BLUE}+==============================================================+${RESET}"
|
||||
|
||||
case "$service_status" in
|
||||
"active")
|
||||
@@ -205,7 +203,6 @@ show_detailed_status() {
|
||||
|
||||
echo -e "${DIM}${CYAN} Started: ${WHITE}${uptime}${RESET}"
|
||||
echo -e "${DIM}${CYAN} Memory Usage: ${WHITE}${memory_usage}${RESET}"
|
||||
echo -e "${DIM}${CYAN} Web Interface: ${WHITE}${PLEX_WEB_URL}${RESET}"
|
||||
echo -e "${DIM}${CYAN} Service Name: ${WHITE}${PLEX_SERVICE}${RESET}"
|
||||
;;
|
||||
"inactive")
|
||||
@@ -222,9 +219,27 @@ show_detailed_status() {
|
||||
esac
|
||||
|
||||
# Show recent logs
|
||||
echo -e "\n${DIM}${CYAN}┌─── Recent Service Logs ───┐${RESET}"
|
||||
echo -e "${DIM}$(journalctl -u "$PLEX_SERVICE" --no-pager -n 3 --since "7 days ago" 2>/dev/null | tail -3 || echo "No recent logs available")${RESET}"
|
||||
echo -e "${DIM}${CYAN}└────────────────────────────┘${RESET}"
|
||||
echo -e "\n${DIM}${CYAN}+--- Recent Service Logs (24h) ---+${RESET}"
|
||||
|
||||
# Try to get logs with sudo, fall back to user permissions
|
||||
local logs
|
||||
if logs=$(sudo journalctl -u "$PLEX_SERVICE" --no-pager -n 5 --since "24 hours ago" --output=short 2>/dev/null); then
|
||||
if [[ -n "$logs" && "$logs" != "-- No entries --" ]]; then
|
||||
echo -e "${DIM}${logs}${RESET}"
|
||||
else
|
||||
echo -e "${DIM}${YELLOW}No recent log entries found${RESET}"
|
||||
fi
|
||||
else
|
||||
# Fallback: try without sudo
|
||||
logs=$(journalctl -u "$PLEX_SERVICE" --no-pager -n 5 --since "24 hours ago" 2>/dev/null || echo "Unable to access logs")
|
||||
if [[ "$logs" == "Unable to access logs" || "$logs" == "-- No entries --" ]]; then
|
||||
echo -e "${DIM}${YELLOW}Unable to access recent logs (try: sudo journalctl -u ${PLEX_SERVICE})${RESET}"
|
||||
else
|
||||
echo -e "${DIM}${logs}${RESET}"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "${DIM}${CYAN}+----------------------------------+${RESET}"
|
||||
}
|
||||
|
||||
# 🔧 Show available commands
|
||||
|
||||
Reference in New Issue
Block a user