Bash & Shell

Bash scripting thực chiến: từ one-liner đến script vận hành

Các pattern Bash quan trọng nhất mà mọi SysOps/DevOps cần nắm: xử lý lỗi, pipe, log, lockfile và cron-safe script.

MT
MT
Builder / SysOps / Shell Enthusiast10 phút05/07/2026
BashShellAutomationLinux

set -euo pipefail là nền tảng

Mọi script vận hành nên bắt đầu bằng `set -euo pipefail`. `-e` dừng ngay khi lệnh lỗi, `-u` báo lỗi khi dùng biến chưa khai báo, `-o pipefail` bắt lỗi trong pipe.

Thiếu dòng này, script có thể im lặng bỏ qua lỗi rồi tiếp tục — thứ nguy hiểm nhất khi chạy trong cron hoặc CI.

Lockfile tránh chạy đồng thời

Script cron cần lockfile để tránh instance thứ hai chạy đè khi instance đầu chưa xong. Dùng `flock` hoặc tự tạo lockfile bằng `mkdir` (atomic).

Cleanup lockfile trong `trap EXIT` để không bị stuck khi script crash giữa chừng.

Bước tiếp theo

Nếu áp dụng vào dự án thật, hãy bắt đầu bằng phiên bản nhỏ nhất có thể đo được, ghi lại quyết định kỹ thuật, rồi cải tiến dựa trên log và phản hồi người dùng.