Bot kiểm tra dung lượng VPS tự động là một chương trình hoặc script được thiết kế để tự động kết nối đến máy chủ ảo riêng (Virtual Private Server – VPS), thu thập thông tin về dung lượng ổ đĩa đã sử dụng và còn trống, sau đó gửi cảnh báo đến bạn qua các nền tảng như Telegram hoặc Discord khi dung lượng vượt ngưỡng cho phép.
Thay vì phải đăng nhập và kiểm tra thủ công thường xuyên, việc có một bot tự động sẽ giúp bạn ngăn ngừa downtime, duy trì hiệu suất ổn định, bảo vệ dữ liệu và tiết kiệm đáng kể thời gian quản lý. Nếu không giám sát dung lượng ổ đĩa, bạn có thể đối mặt với rủi ro website sập, ứng dụng ngừng hoạt động, mất dữ liệu hoặc hiệu suất chậm chạp.
Bài viết này sẽ cung cấp cho bạn một quy trình từng bước chi tiết, từ chuẩn bị đến triển khai và khắc phục sự cố, giúp bạn tự tin tạo bot hoàn toàn miễn phí hoặc với chi phí thấp, đồng thời đảm bảo các yếu tố bảo mật quan trọng. Để thực hiện, bạn chỉ cần có kiến thức cơ bản về Linux, SSH và một chút về lập trình Python hoặc Bash. Giải pháp kiểm tra dung lượng ổ đĩa VPS này mang lại sự chủ động cao trong quản lý VPS.
Tóm tắt nhanh quy trình Tạo Bot Kiểm Tra Dung Lượng VPS Tự Động
- Chuẩn bị môi trường và công cụ cần thiết trên VPS và máy tính cá nhân.
- Kết nối đến VPS và thu thập thông tin dung lượng ổ đĩa bằng các lệnh Linux.
- Tạo Bot Telegram hoặc Webhook Discord để thiết lập kênh nhận thông báo.
- Viết script (bằng Python hoặc Bash) để kiểm tra dung lượng, thiết lập ngưỡng và gửi cảnh báo.
- Cấu hình Cron Job trên Linux để tự động chạy script định kỳ.
- Kiểm tra, tinh chỉnh và áp dụng các biện pháp bảo mật cho bot của bạn.

Chuẩn bị trước khi Tạo Bot Kiểm Tra Dung Lượng VPS Tự Động
- Công cụ và Phần mềm:
- Một VPS chạy hệ điều hành Linux (Ubuntu, CentOS, Debian…).
- Phần mềm SSH Client (ví dụ: PuTTY cho Windows, Terminal cho macOS/Linux) để kết nối VPS.
- Trình soạn thảo mã (Code Editor) như VS Code, Sublime Text hoặc Nano/Vim trên Terminal.
- Tài khoản Telegram hoặc Discord để nhận thông báo.
- Ngôn ngữ lập trình Python (phiên bản 3.x) hoặc Bash Script đã được cài đặt trên VPS.
- Dữ liệu đầu vào và thông tin cần có:
- Thông tin đăng nhập SSH của VPS (IP, username, password hoặc SSH Key).
- Ngưỡng cảnh báo dung lượng ổ đĩa mong muốn (ví dụ: 80% hoặc 90% đã sử dụng).
- API Token của Telegram Bot (sau khi tạo bot với BotFather) hoặc Webhook URL của kênh Discord.
- Điều kiện môi trường:
- VPS và máy tính cá nhân có kết nối Internet ổn định.
- Thời gian rảnh khoảng 30-60 phút để thực hiện các bước.
- Điều kiện an toàn:
- Đảm bảo bạn có quyền root hoặc quyền sudo trên VPS.
- Nên sao lưu dữ liệu quan trọng trên VPS trước khi thực hiện các thay đổi lớn (mặc dù việc này ít rủi ro).
- Sử dụng SSH Key thay vì mật khẩu để tăng cường bảo mật khi truy cập VPS.
- Luôn cập nhật hệ điều hành và các gói phần mềm trên VPS để vá lỗ hổng bảo mật.
Việc chuẩn bị kỹ lưỡng là bước đầu tiên để tạo bot giám sát VPS thành công.
6 bước chi tiết để Tạo Bot Kiểm Tra Dung Lượng VPS Tự Động
Bước 1: Chuẩn bị môi trường và cài đặt các công cụ cần thiết trên VPS
Mục tiêu của bước này là đảm bảo VPS của bạn sẵn sàng để chạy script và gửi thông báo.
- Thao tác chi tiết:
- Cập nhật hệ thống: Kết nối SSH vào VPS và chạy lệnh:
- Đối với Ubuntu/Debian:
sudo apt update && sudo apt upgrade -y - Đối với CentOS/RHEL:
sudo yum update -y
- Đối với Ubuntu/Debian:
- Cài đặt Python (nếu chưa có): Hầu hết các bản phân phối Linux đều có Python 3. Nếu chưa, cài đặt bằng lệnh:
- Đối với Ubuntu/Debian:
sudo apt install python3 python3-pip -y - Đối với CentOS/RHEL:
sudo yum install python3 python3-pip -y
- Đối với Ubuntu/Debian:
- Cài đặt thư viện Python
requests(nếu dùng Python cho Telegram/Discord):pip3 install requests
- Cập nhật hệ thống: Kết nối SSH vào VPS và chạy lệnh:
- Điểm cần chú ý: Đảm bảo bạn đang sử dụng Python 3.x. Nếu có nhiều phiên bản Python, hãy dùng
python3vàpip3. - Dấu hiệu cho thấy bạn đã làm đúng bước này: Bạn có thể chạy lệnh
python3 --versionvàpip3 --versionmà không báo lỗi, đồng thời lệnhpip3 show requestshiển thị thông tin thư viện.

Bước 2: Kết nối đến VPS và thu thập thông tin dung lượng ổ đĩa
Mục tiêu của bước này là truy cập VPS và biết cách lấy dữ liệu về dung lượng ổ đĩa.
- Thao tác chi tiết:
- Kết nối SSH: Mở Terminal/PuTTY và kết nối đến VPS của bạn bằng lệnh:
ssh user@your_vps_ip(thayuservàyour_vps_ipbằng thông tin của bạn). - Kiểm tra dung lượng ổ đĩa: Sau khi kết nối thành công, chạy lệnh sau để xem dung lượng ổ đĩa:
df -h
Lệnh này sẽ hiển thị thông tin về các phân vùng ổ đĩa, bao gồm tổng dung lượng, dung lượng đã sử dụng, dung lượng còn trống và tỷ lệ phần trăm đã sử dụng.
- Kết nối SSH: Mở Terminal/PuTTY và kết nối đến VPS của bạn bằng lệnh:
- Điểm cần chú ý: Hiểu rõ output của lệnh
df -h, đặc biệt là cột “Use%” và “Mounted on” để xác định phân vùng chính cần giám sát (thường là/). - Dấu hiệu đúng, dấu hiệu sai và cách sửa nhanh:
- Đúng: Lệnh
df -hhiển thị bảng thông tin dung lượng ổ đĩa rõ ràng. - Sai: Lệnh không tìm thấy (
command not found) hoặc báo lỗi quyền. - Cách sửa: Đảm bảo bạn đã đăng nhập đúng user và có quyền thực thi lệnh. Nếu lỗi
command not found, có thể hệ thống không nhận diện lệnh, nhưng điều này hiếm gặp vớidf.
- Đúng: Lệnh
Bước 3: Tạo Bot Telegram hoặc Webhook Discord
Mục tiêu của bước này là thiết lập kênh mà bot sẽ sử dụng để gửi thông báo cảnh báo. Việc tạo bot Telegram kiểm tra VPS hoặc bot kiểm tra tình trạng hoạt động và dung lượng VPS qua Discord là rất quan trọng.
- Thao tác chi tiết (Trường hợp A: Tạo Bot Telegram):
- Mở ứng dụng Telegram, tìm kiếm
@BotFather. - Gõ
/newbotvà làm theo hướng dẫn để đặt tên và username cho bot của bạn. - BotFather sẽ cung cấp cho bạn một API Token. Hãy lưu trữ API Token này cẩn thận.
- Để bot có thể gửi tin nhắn cho bạn, bạn cần bắt đầu cuộc trò chuyện với bot vừa tạo. Sau đó, bạn cần lấy
chat_idcủa mình. Cách đơn giản nhất là gửi một tin nhắn bất kỳ cho bot, sau đó truy cập URL sau trên trình duyệt (thayYOUR_BOT_TOKENbằng API Token của bạn):https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates - Tìm trong kết quả JSON chuỗi
"id": XXXXXXXX, đây chính làchat_idcủa bạn.
- Mở ứng dụng Telegram, tìm kiếm
- Thao tác chi tiết (Trường hợp B: Tạo Webhook Discord):
- Mở Discord, đi đến kênh bạn muốn nhận thông báo.
- Nhấp vào biểu tượng bánh răng (Settings) bên cạnh tên kênh.
- Chọn “Integrations” > “Webhooks” > “New Webhook”.
- Đặt tên cho Webhook, chọn kênh và sao chép Webhook URL.
- Điểm cần chú ý: API Token và Webhook URL là thông tin nhạy cảm. Không chia sẻ công khai.
- Dấu hiệu cho thấy bạn đã làm đúng bước này: Bạn có API Token Telegram và
chat_idhợp lệ, hoặc Webhook URL Discord hoạt động.
Bước 4: Viết Script kiểm tra dung lượng và gửi thông báo
Mục tiêu của bước này là tạo ra đoạn mã thực hiện việc kiểm tra và gửi cảnh báo. Đây là bước cốt lõi để tạo bot thông báo khi dung lượng VPS sắp đầy.
- Thao tác chi tiết (Ví dụ bằng Python):
- Tạo một file script mới trên VPS, ví dụ:
disk_monitor.py.nano disk_monitor.py - Dán đoạn code sau vào (thay thế
YOUR_BOT_TOKEN,YOUR_CHAT_IDhoặcYOUR_DISCORD_WEBHOOK_URLvàTHRESHOLD_PERCENT):import subprocess import requests import os # Cấu hình Telegram (nếu dùng) TELEGRAM_BOT_TOKEN = os.environ.get('TELEGRAM_BOT_TOKEN', 'YOUR_BOT_TOKEN') TELEGRAM_CHAT_ID = os.environ.get('TELEGRAM_CHAT_ID', 'YOUR_CHAT_ID') # Cấu hình Discord (nếu dùng) DISCORD_WEBHOOK_URL = os.environ.get('DISCORD_WEBHOOK_URL', 'YOUR_DISCORD_WEBHOOK_URL') # Ngưỡng cảnh báo (phần trăm sử dụng) THRESHOLD_PERCENT = int(os.environ.get('THRESHOLD_PERCENT', '80')) # Cảnh báo khi sử dụng trên 80% def send_telegram_message(message): if not TELEGRAM_BOT_TOKEN or not TELEGRAM_CHAT_ID: print("Telegram config missing.") return url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" payload = { "chat_id": TELEGRAM_CHAT_ID, "text": message, "parse_mode": "Markdown" } try: response = requests.post(url, json=payload) response.raise_for_status() print("Telegram message sent successfully.") except requests.exceptions.RequestException as e: print(f"Error sending Telegram message: {e}") def send_discord_webhook(message): if not DISCORD_WEBHOOK_URL: print("Discord webhook URL missing.") return payload = { "content": message } try: response = requests.post(DISCORD_WEBHOOK_URL, json=payload) response.raise_for_status() print("Discord message sent successfully.") except requests.exceptions.RequestException as e: print(f"Error sending Discord message: {e}") def check_disk_usage(): try: # Chạy lệnh df -h để lấy thông tin dung lượng ổ đĩa result = subprocess.run(['df', '-h'], capture_output=True, text=True, check=True) lines = result.stdout.splitlines() # Tìm dòng chứa thông tin phân vùng gốc (/) for line in lines: if line.endswith('/'): # Thường là phân vùng gốc parts = line.split() if len(parts) >= 5: usage_percent_str = parts[4].replace('%', '') current_usage_percent = int(usage_percent_str) filesystem = parts[0] used_space = parts[2] available_space = parts[3] mounted_on = parts[5] if current_usage_percent >= THRESHOLD_PERCENT: alert_message = ( f"🚨 *Cảnh báo Dung lượng VPS!* 🚨\n" f"Ổ đĩa `{filesystem}` trên VPS của bạn đang sử dụng `{current_usage_percent}%`.\n" f"Đã dùng: `{used_space}`, Còn trống: `{available_space}`.\n" f"Vượt ngưỡng cảnh báo `{THRESHOLD_PERCENT}%`.\n" f"Kiểm tra ngay: `ssh user@your_vps_ip`" ) send_telegram_message(alert_message) send_discord_webhook(alert_message) else: print(f"Dung lượng ổ đĩa hiện tại: {current_usage_percent}%. Dưới ngưỡng cảnh báo.") return print("Không tìm thấy thông tin phân vùng gốc '/' trong output của df -h.")except subprocess.CalledProcessError as e: print(f"Lỗi khi chạy lệnh df -h: {e}") except Exception as e: print(f"Lỗi không xác định: {e}")if __name__ == "__main__": check_disk_usage() - Lưu file và thoát (Ctrl+X, Y, Enter nếu dùng Nano).
- Cấp quyền thực thi cho script:
chmod +x disk_monitor.py - Thiết lập ngưỡng cảnh báo: Thay đổi giá trị
THRESHOLD_PERCENTtrong script. - Tích hợp thông báo an toàn: Thay vì điền trực tiếp API Token/Webhook URL vào script, bạn nên sử dụng biến môi trường. Ví dụ, trước khi chạy script, bạn có thể thiết lập:
export TELEGRAM_BOT_TOKEN="YOUR_BOT_TOKEN"export TELEGRAM_CHAT_ID="YOUR_CHAT_ID"export DISCORD_WEBHOOK_URL="YOUR_DISCORD_WEBHOOK_URL"export THRESHOLD_PERCENT="85"
Lưu ý: Các biến này chỉ có giá trị trong phiên làm việc hiện tại. Khi dùngcron job, bạn sẽ cần khai báo chúng trongcrontabhoặc trong một script wrapper.
- Tạo một file script mới trên VPS, ví dụ:
- Điểm cần chú ý: Đảm bảo cú pháp Python chính xác. Kiểm tra kỹ API Token/Webhook URL và
chat_id. Đây là bước quan trọng trong cách viết script Python kiểm tra dung lượng trống của VPS. - Dấu hiệu cho thấy bạn đã làm đúng bước này: Chạy thử script bằng lệnh
python3 disk_monitor.py. Nếu dung lượng vượt ngưỡng, bạn sẽ nhận được thông báo trên Telegram/Discord. Nếu dưới ngưỡng, script sẽ in ra console thông báo “Dung lượng ổ đĩa hiện tại… Dưới ngưỡng cảnh báo.”

Bước 5: Tự động hóa với Cron Job
Mục tiêu của bước này là lên lịch cho script kiểm tra dung lượng chạy tự động định kỳ. Đây là cách cấu hình bot kiểm tra dung lượng VPS trên Linux để tự động hóa tác vụ.
- Thao tác chi tiết:
- Mở trình chỉnh sửa
cron job:crontab -e - Nếu đây là lần đầu, bạn có thể được yêu cầu chọn trình soạn thảo (chọn Nano cho dễ dùng).
- Thêm dòng sau vào cuối file (ví dụ: chạy mỗi 15 phút):
# Thiết lập biến môi trường cho cron job TELEGRAM_BOT_TOKEN="YOUR_BOT_TOKEN" TELEGRAM_CHAT_ID="YOUR_CHAT_ID" DISCORD_WEBHOOK_URL="YOUR_DISCORD_WEBHOOK_URL" THRESHOLD_PERCENT="80" # Chạy script kiểm tra dung lượng mỗi 15 phút */15 * * * * /usr/bin/python3 /path/to/your/disk_monitor.py >> /var/log/disk_monitor.log 2>&1- Thay
/path/to/your/disk_monitor.pybằng đường dẫn tuyệt đối đến script của bạn (ví dụ:/home/user/disk_monitor.py). >> /var/log/disk_monitor.log 2>&1sẽ ghi output và lỗi của script vào file log để dễ dàng kiểm tra.*/15 * * * *nghĩa là chạy mỗi 15 phút. Bạn có thể thay đổi tần suất (ví dụ:0 * * * *để chạy mỗi giờ).
- Thay
- Lưu file và thoát.
- Mở trình chỉnh sửa
- Điểm cần chú ý: Đường dẫn tuyệt đối của script và của
python3là rất quan trọng. Cú phápcron jobphải chính xác. Đảm bảo các biến môi trường được khai báo đúng nếu bạn dùng chúng. - Dấu hiệu cho thấy bạn đã làm đúng bước này: Sau khoảng thời gian đã cấu hình, kiểm tra file log
/var/log/disk_monitor.logđể xem output của script. Bot sẽ tự động gửi thông báo nếu dung lượng vượt ngưỡng.
Bước 6: Kiểm tra, tinh chỉnh và bảo mật bot
Mục tiêu của bước này là đảm bảo bot hoạt động ổn định, chính xác và an toàn. Việc này giúp kiểm tra sức khỏe VPS và duy trì bảo trì VPS hiệu quả.
- Thao tác chi tiết:
- Kiểm tra hoạt động:
- Theo dõi file log (
tail -f /var/log/disk_monitor.log). - Kiểm tra kênh Telegram/Discord để xem thông báo có được gửi đúng lúc không.
- Thử thay đổi ngưỡng cảnh báo xuống thấp (ví dụ 10%) để buộc bot gửi thông báo test.
- Theo dõi file log (
- Tinh chỉnh:
- Điều chỉnh ngưỡng cảnh báo (
THRESHOLD_PERCENT) cho phù hợp với nhu cầu của bạn. - Thay đổi tần suất chạy
cron jobnếu cần. - Cải thiện nội dung thông báo cho rõ ràng và hữu ích hơn.
- Điều chỉnh ngưỡng cảnh báo (
- Bảo mật:
- Hạn chế quyền của script: Đảm bảo script chỉ có quyền đọc thông tin hệ thống, không có quyền ghi hoặc thực thi các lệnh nhạy cảm khác. Quyền
chmod +xlà đủ. - Biến môi trường: Luôn sử dụng biến môi trường hoặc file cấu hình được bảo vệ để lưu trữ API keys/tokens, không hardcode chúng trực tiếp vào script.
- Cập nhật hệ thống: Thường xuyên cập nhật VPS để vá các lỗ hổng bảo mật.
- Giới hạn quyền truy cập SSH: Chỉ cho phép các IP đáng tin cậy truy cập SSH vào VPS.
- Hạn chế quyền của script: Đảm bảo script chỉ có quyền đọc thông tin hệ thống, không có quyền ghi hoặc thực thi các lệnh nhạy cảm khác. Quyền
- Kiểm tra hoạt động:
- Điểm cần chú ý: Vấn đề bảo mật là tối quan trọng. Không bao giờ lơ là.
- Dấu hiệu cho thấy bạn đã làm đúng bước này: Bot hoạt động ổn định, gửi thông báo chính xác theo ngưỡng và tần suất đã định, không có lỗi phát sinh trong log, và bạn đã áp dụng các biện pháp bảo mật cần thiết.
Khi nào nên Tạo Bot Kiểm Tra Dung Lượng VPS Tự Động và ai nên áp dụng?
- Dấu hiệu hoặc tình huống điển hình nên áp dụng:
- Bạn đang chạy các dịch vụ quan trọng trên VPS (website, ứng dụng, cơ sở dữ liệu) và không muốn chúng bị gián đoạn do hết dung lượng.
- Bạn thường xuyên phải kiểm tra dung lượng VPS thủ công và cảm thấy tốn thời gian.
- Bạn muốn nhận cảnh báo sớm để có thời gian xử lý trước khi sự cố xảy ra.
- Bạn quản lý nhiều VPS và cần một giải pháp giám sát tập trung, hiệu quả.
- Nhóm đối tượng phù hợp:
- Cá nhân và doanh nghiệp nhỏ: Những người muốn tối ưu hóa chi phí và tự quản lý VPS hiệu quả.
- Các nhà phát triển (Developers) và quản trị viên hệ thống (SysAdmins): Muốn tự động hóa các tác vụ giám sát cơ bản.
- Người mới sử dụng VPS: Muốn tìm hiểu và kiểm soát tốt hơn máy chủ của mình.
- Trường hợp không nên tự làm và lý do:
- Bạn không có bất kỳ kiến thức cơ bản nào về Linux, dòng lệnh hoặc lập trình script.
- Bạn đang sử dụng dịch vụ VPS Managed (được quản lý hoàn toàn bởi nhà cung cấp), nơi họ đã có sẵn các công cụ giám sát chuyên nghiệp.
- Dịch vụ của bạn yêu cầu một hệ thống giám sát phức tạp, có đồ thị, báo cáo chi tiết và tích hợp nhiều loại cảnh báo (RAM VPS, CPU VPS, network, dịch vụ…). Trong trường hợp này, các công cụ chuyên nghiệp như Zabbix, Prometheus sẽ phù hợp hơn.
- Nếu không tự làm thì nên làm gì:
- Liên hệ với nhà cung cấp VPS của bạn để hỏi về các dịch vụ giám sát họ cung cấp.
- Cân nhắc sử dụng các công cụ giám sát máy chủ chuyên nghiệp có giao diện đồ họa và tính năng nâng cao.

Những lưu ý và cảnh báo quan trọng trước khi Tạo Bot Kiểm Tra Dung Lượng VPS Tự Động
- Tuyệt đối không nên làm:
- Không bao giờ lưu trữ API Keys, Webhook URL hoặc mật khẩu SSH trực tiếp trong mã nguồn công khai hoặc các file không được bảo vệ.
- Không cấp quyền quá mức (ví dụ:
chmod 777) cho script của bạn. Chỉ cấp quyền thực thi (chmod +x) là đủ. - Không bỏ qua việc kiểm tra và cập nhật hệ thống định kỳ.
- Không đặt ngưỡng cảnh báo quá sát với 100% dung lượng, điều này có thể khiến bạn không kịp phản ứng.
- Sai lầm phổ biến của người mới:
- Sử dụng đường dẫn tương đối thay vì đường dẫn tuyệt đối trong
cron job. - Quên cấp quyền thực thi cho script.
- Cấu hình sai cú pháp
cron job. - Firewall chặn kết nối ra ngoài (outbound connection) của VPS, khiến bot không thể gửi thông báo.
- Không kiểm tra log của
cron jobhoặc script khi bot không hoạt động. - Nhập sai API Token hoặc Chat ID/Webhook URL.
- Sử dụng đường dẫn tương đối thay vì đường dẫn tuyệt đối trong
- Các giới hạn hoặc điều kiện bắt buộc:
- Bot này chủ yếu phù hợp với VPS chạy Linux.
- Yêu cầu kiến thức cơ bản về dòng lệnh Linux và Python/Bash.
- Phụ thuộc vào API của Telegram/Discord, có thể có giới hạn tốc độ gửi tin nhắn.
- Cảnh báo về an toàn dữ liệu và bảo mật:
- Nếu API Key của bot bị lộ, kẻ xấu có thể lợi dụng để gửi tin nhắn spam hoặc thực hiện các hành vi không mong muốn.
- Một script có quyền hạn cao và lỗ hổng bảo mật có thể bị khai thác để tấn công VPS của bạn.

Kiểm tra kết quả và cải thiện hiệu quả sau khi Tạo Bot Kiểm Tra Dung Lượng VPS Tự Động
- Checklist dấu hiệu thành công:
- Bot tự động gửi thông báo đến kênh Telegram/Discord của bạn khi dung lượng ổ đĩa VPS vượt ngưỡng đã thiết lập.
- Thông báo chứa thông tin chính xác về tỷ lệ sử dụng, dung lượng đã dùng và còn trống.
- Bot chạy định kỳ theo lịch trình đã cấu hình trong
cron job. - VPS không bị ảnh hưởng hiệu suất đáng kể khi bot chạy.
- Cách kiểm tra nhanh (1-3 phút):
- Chạy thủ công script kiểm tra dung lượng (
python3 /path/to/your/disk_monitor.py). - Kiểm tra ngay kênh Telegram/Discord để xem có nhận được thông báo test không (nếu dung lượng vượt ngưỡng).
- Chạy thủ công script kiểm tra dung lượng (
- Cách kiểm tra kỹ:
- Kiểm tra file log của script (
cat /var/log/disk_monitor.log). - Kiểm tra trạng thái
cron jobbằng lệnhgrep CRON /var/log/syslog(trên Debian/Ubuntu) hoặcgrep CRON /var/log/cron(trên CentOS). - Theo dõi tài nguyên VPS (CPU, RAM) trong vài giờ sau khi bot hoạt động để đảm bảo không có sự tăng đột biến bất thường.
- Kiểm tra file log của script (
- Nếu kết quả chưa đúng: gợi ý các điểm cần rà lại:
- Kiểm tra lại API Token/Webhook URL và Chat ID.
- Kiểm tra cú pháp script Python/Bash.
- Đảm bảo đường dẫn tuyệt đối của script trong
cron joblà chính xác. - Kiểm tra quyền thực thi của script (
chmod +x). - Kiểm tra cài đặt firewall trên VPS (đảm bảo cho phép kết nối ra ngoài tới Telegram/Discord API).
- Gợi ý tối ưu hoặc duy trì:
- Mở rộng giám sát: Nâng cấp script để kiểm tra thêm RAM, CPU, hoặc trạng thái các dịch vụ quan trọng (web server, database).
- Định dạng thông báo: Tinh chỉnh nội dung và định dạng thông báo cho dễ đọc, dễ hiểu hơn.
- Lưu cấu hình: Ghi lại các thông số cấu hình, API keys vào một nơi an toàn để dễ dàng triển khai lại hoặc khắc phục sự cố.
- Kiểm tra định kỳ: Dù bot tự động, bạn vẫn nên kiểm tra hoạt động của nó định kỳ (ví dụ: mỗi tháng một lần) để đảm bảo không có vấn đề phát sinh.

Vấn đề thường gặp khi Tạo Bot Kiểm Tra Dung Lượng VPS Tự Động và cách xử lý
Lỗi 1: Bot không gửi thông báo đến Telegram/Discord
Dung lượng VPS đã vượt ngưỡng nhưng không nhận được bất kỳ tin nhắn cảnh báo nào, đây là dấu hiệu nhận biết bot không gửi thông báo.
- Nguyên nhân thường gặp:
- Sai API Token, Chat ID hoặc Webhook URL.
- VPS không có kết nối Internet hoặc firewall chặn kết nối ra ngoài đến Telegram/Discord API.
- Script không chạy hoặc chạy nhưng bị lỗi.
cron jobcấu hình sai hoặc không hoạt động.
- Cách xử lý theo thứ tự ưu tiên:
- Kiểm tra API Key/Webhook URL: Đảm bảo các giá trị trong script hoặc biến môi trường là chính xác.
- Chạy script thủ công: Chạy
python3 /path/to/your/disk_monitor.pytrên terminal để xem có lỗi nào xuất hiện không. - Kiểm tra kết nối mạng và Firewall: Đảm bảo VPS có thể truy cập
api.telegram.orghoặcdiscord.com. Thử lệnhcurl -v https://api.telegram.orghoặccurl -v YOUR_DISCORD_WEBHOOK_URL. Kiểm tra cấu hình firewall (ufw statushoặcfirewalld --list-all). - Kiểm tra log
cron job: Xem file log mà bạn đã cấu hình (/var/log/disk_monitor.log) hoặc log hệ thống (/var/log/syslog,/var/log/cron) để tìm lỗi.
- Khi nào nên dừng và tìm hỗ trợ: Nếu đã thử tất cả các cách trên mà vẫn không được, hãy liên hệ với nhà cung cấp VPS hoặc tìm kiếm sự giúp đỡ từ cộng đồng lập trình.
Lỗi 2: Script báo lỗi cú pháp hoặc không thực thi
Khi chạy script thủ công hoặc kiểm tra log cron job, bạn thấy các thông báo lỗi liên quan đến cú pháp Python/Bash hoặc script không thể chạy.
- Nguyên nhân thường gặp:
- Lỗi chính tả, sai cú pháp trong code.
- Thiếu quyền thực thi cho file script.
- Thiếu thư viện Python (ví dụ:
requests). - Sử dụng sai phiên bản Python (ví dụ: script viết cho Python 3 nhưng chạy bằng Python 2).
- Cách xử lý theo thứ tự ưu tiên:
- Kiểm tra lại code: Đọc kỹ từng dòng code để tìm lỗi cú pháp. Có thể dùng linter hoặc chạy code qua trình kiểm tra cú pháp online.
- Cấp quyền thực thi: Đảm bảo bạn đã chạy
chmod +x /path/to/your/disk_monitor.py. - Cài đặt thư viện: Nếu lỗi báo thiếu module, hãy cài đặt bằng
pip3 install ten_thu_vien. - Kiểm tra phiên bản Python: Đảm bảo bạn đang gọi script bằng
python3chứ không phảipython(nếupythontrỏ đến Python 2).
- Khi nào nên dừng và tìm hỗ trợ: Nếu bạn không thể tự debug lỗi cú pháp, hãy chia sẻ đoạn code và thông báo lỗi lên các diễn đàn lập trình để được hỗ trợ.

Lỗi 3: Thông báo gửi quá nhiều hoặc quá ít
Bạn nhận được spam thông báo liên tục hoặc không nhận được thông báo kịp thời khi dung lượng thực sự sắp đầy.
- Nguyên nhân thường gặp:
- Ngưỡng cảnh báo (
THRESHOLD_PERCENT) quá thấp (gửi quá nhiều) hoặc quá cao (gửi quá ít). - Tần suất
cron jobquá dày (gửi quá nhiều) hoặc quá thưa (gửi quá ít).
- Ngưỡng cảnh báo (
- Cách xử lý theo thứ tự ưu tiên:
- Điều chỉnh ngưỡng cảnh báo: Sửa giá trị
THRESHOLD_PERCENTtrong script cho phù hợp. - Thay đổi tần suất
cron job: Chỉnh sửacrontab -eđể thay đổi thời gian chạy script (ví dụ: từ*/5 * * * *sang*/30 * * * *để giảm tần suất).
- Điều chỉnh ngưỡng cảnh báo: Sửa giá trị
- Khi nào nên dừng và tìm hỗ trợ: Đây là lỗi cấu hình, thường có thể tự khắc phục bằng cách thử nghiệm và điều chỉnh.
Câu hỏi thường gặp về Tạo Bot Kiểm Tra Dung Lượng VPS Tự Động
- Bot này có thể kiểm tra những gì ngoài dung lượng ổ đĩa? Có, bạn hoàn toàn có thể mở rộng script để kiểm tra thêm RAM, CPU, uptime, hoặc trạng thái của các dịch vụ cụ thể trên VPS.
- Tôi có cần kiến thức lập trình chuyên sâu để tạo bot không? Không cần. Với hướng dẫn chi tiết và các đoạn mã mẫu, bạn chỉ cần kiến thức cơ bản về Linux, SSH và một chút về Python hoặc Bash là có thể thực hiện được.
- Việc tạo bot có tốn kém không? Hoàn toàn miễn phí. Bạn sử dụng các công cụ mã nguồn mở (Python, Bash, Cron Job) và các nền tảng thông báo miễn phí (Telegram, Discord).
- Tôi có thể sử dụng bot này cho nhiều VPS cùng lúc không? Có, bạn có thể triển khai script này trên từng VPS riêng biệt. Hoặc bạn có thể phát triển một script phức tạp hơn để giám sát nhiều VPS từ một máy chủ trung tâm.
- Bot có hoạt động trên Windows VPS không? Không, hướng dẫn này tập trung vào các lệnh và công cụ của hệ điều hành Linux. Đối với Windows VPS, bạn sẽ cần các phương pháp giám sát khác.
- Làm thế nào để đảm bảo bot luôn chạy ổn định? Thường xuyên kiểm tra log, cập nhật hệ thống, và định kỳ rà soát lại script cũng như cấu hình
cron joblà cách tốt nhất. - Có công cụ giám sát VPS chuyên nghiệp nào khác không? Có, các công cụ như Zabbix, Prometheus, Grafana cung cấp giải pháp giám sát toàn diện hơn với giao diện đồ họa, báo cáo chi tiết và khả năng mở rộng cao.
- Tôi nên làm gì nếu VPS bị đầy dung lượng? Bạn cần nhanh chóng giải phóng dung lượng bằng cách xóa các file không cần thiết, log cũ, cache, hoặc cân nhắc nâng cấp gói VPS để có thêm dung lượng.
Kết luận
Việc tạo bot kiểm tra dung lượng VPS tự động là một bước đi thông minh để chủ động quản lý và duy trì sự ổn định cho các dịch vụ của bạn trên máy chủ ảo. Qua bài viết này, bạn đã được hướng dẫn chi tiết từng bước, từ việc chuẩn bị công cụ, viết script, đến tự động hóa và bảo mật.
Để đạt được hiệu quả tốt nhất, tôi khuyến nghị bạn:
- Thực hiện từng bước cẩn thận: Đừng bỏ qua bất kỳ bước nào, đặc biệt là các bước liên quan đến bảo mật.
- Kiểm tra kỹ lưỡng: Luôn chạy thử script và theo dõi log để đảm bảo bot hoạt động đúng như mong đợi.
- Không ngừng cải thiện: Cân nhắc mở rộng bot để giám sát thêm các tài nguyên khác của VPS, giúp bạn có cái nhìn toàn diện hơn về sức khỏe máy chủ của mình.
Việc làm chủ công nghệ và tự động hóa các tác vụ quản trị sẽ giúp bạn tiết kiệm thời gian, giảm thiểu rủi ro và tập trung hơn vào việc phát triển kinh doanh. Hãy bắt tay vào tạo bot ngay hôm nay để trải nghiệm sự tiện lợi mà nó mang lại!