From 833b33e042c0e0cc8d2c208cdc8f6d2ca3243bf7 Mon Sep 17 00:00:00 2001 From: thuanle Date: Wed, 22 Jul 2026 00:17:12 +0700 Subject: [PATCH] Add step_docker: system df + prune per type Co-Authored-By: Claude --- cleanup-server | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/cleanup-server b/cleanup-server index c8dce47..0166178 100755 --- a/cleanup-server +++ b/cleanup-server @@ -166,11 +166,55 @@ step_upgrade() { echo "" } +# ----------------------------- +# Chọn 'docker' hoặc 'sudo docker' tùy permission +# Trả về chuỗi lệnh qua echo (gán: DC=$(docker_cmd)) +# ----------------------------- +docker_cmd() { + if docker info >/dev/null 2>&1; then + echo "docker" + elif sudo -n docker info >/dev/null 2>&1; then + echo "sudo docker" + else + echo "" + fi +} + +# ----------------------------- +# Bước 2: Docker — df rồi prune từng loại +# ----------------------------- +step_docker() { + echo "${C_TITLE}--- [Docker] ---${C_RESET}" + if ! command -v docker >/dev/null 2>&1; then + echo "${C_WARN} ⚠ docker command not found.${C_RESET}" + echo "" + return + fi + local DC + DC=$(docker_cmd) + if [ -z "$DC" ]; then + echo "${C_WARN} ⚠ Không có quyền truy cập docker (cần group docker hoặc sudo).${C_RESET}" + echo "" + return + fi + echo " Lệnh: $DC" + $DC system df + echo "" + confirm_yn "Prune images (-a)?" && $DC image prune -a -f + confirm_yn "Prune containers?" && $DC container prune -f + confirm_yn "Prune volumes?" && $DC volume prune -f + confirm_yn "Prune build cache?" && $DC builder prune -f + confirm_yn "Prune networks?" && $DC network prune -f + echo "${C_OK} ✓ Docker cleanup xong.${C_RESET}" + echo "" +} + # ----------------------------- # Chạy tuần tự 6 bước (stub — các bước thêm ở Task 4-9) # ----------------------------- run_all_steps() { step_upgrade + step_docker } # -----------------------------