Files
bin-scripts/cleanup-server
T
2026-07-22 00:14:45 +07:00

69 lines
3.2 KiB
Bash
Executable File

#!/bin/bash
# cleanup-server - Dọn dẹp + nâng cấp server (Ubuntu/Arch), interactive, tuần tự.
# Cách dùng:
# cleanup-server # hiện menu chọn target (local hoặc server alias)
# cleanup-server --run-steps # (nội bộ) chạy thẳng 6 bước trên máy hiện tại
# -----------------------------
# Color helpers (tự tắt khi không phải TTY)
# -----------------------------
if [ -t 1 ]; then
C_RESET=$'\033[0m'
C_TITLE=$'\033[1;36m' # tiêu đề
C_OK=$'\033[1;32m' # thành công
C_DEL=$'\033[1;31m' # sẽ xóa / lỗi
C_WARN=$'\033[1;33m' # cảnh báo
else
C_RESET=""; C_TITLE=""; C_OK=""; C_DEL=""; C_WARN=""
fi
# -----------------------------
# Banner rainbow (giống style `cleanup`)
# -----------------------------
print_banner() {
local use_color=0 reset="" i=0 line
local -a lines=(
' ██████╗██╗ ██╗ ██████╗██╗ ██╗██╗ ██╗██████╗ ███████╗███╗ ██╗ ██████╗██╗ ██╗'
' ██╔════╝██║ ██║██╔════╝██║ ██║██║ ██║██╔══██╗ ██╔════╝████╗ ██║██╔═══██╗╚██╗██╔╝'
' ██║ ██║ ██║██║ ███████║██║ ██║██║ ██║ █████╗ ██╔██╗ ██║██║ ██║ ╚███╔╝ '
' ██║ ██║ ██║██║ ██╔══██║██║ ██║██║ ██║ ██╔══╝ ██║╚██╗██║██║ ██║ ██╔██╗ '
' ╚██████╗╚██████╔╝╚██████╗██║ ██║╚██████╔╝██████╔╝ ███████╗██║ ╚████║╚██████╔╝██╔╝ ██╗'
' ╚═════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝'
)
local -a colors=()
if [ -t 1 ]; then
use_color=1
reset=$'\033[0m'
colors=(
$'\033[1;38;5;51m' $'\033[1;38;5;87m' $'\033[1;38;5;123m'
$'\033[1;38;5;159m' $'\033[1;38;5;220m' $'\033[1;38;5;214m'
)
fi
echo ""
for line in "${lines[@]}"; do
if [ "$use_color" -eq 1 ]; then
printf '%b%s%b\n' "${colors[$i]}" "$line" "$reset"
else
printf '%s\n' "$line"
fi
i=$((i + 1))
done
echo ""
}
# -----------------------------
# Main (phân nhánh theo argv)
# -----------------------------
main() {
if [ "${1:-}" = "--run-steps" ]; then
echo "${C_TITLE}===== 🧹 Cleanup-server (--run-steps) =====${C_RESET}"
echo " (chưa có bước nào — sẽ thêm ở task sau)"
return
fi
print_banner
echo "${C_TITLE}===== 🧹 Cleanup-server =====${C_RESET}"
echo " (menu chọn target sẽ thêm ở Task 2)"
}
main "$@"