NỘI DUNG
Trong bài viết này, chúng ta sẽ tìm hiểu cách liệt kê các user đang ở trạng thái Suspend trên DirectAdmin.
DirectAdmin là một Control Panel phổ biến được sử dụng để quản lý các máy chủ web. Nó cung cấp nhiều tính năng hữu ích, bao gồm khả năng liệt kê tất cả các user đang hoạt động trên máy chủ.
Tuy nhiên, đôi khi bạn cần liệt kê các user đang ở trạng thái Suspend. Điều này có thể hữu ích cho các trường hợp như:
- Xem xét các user đã vi phạm chính sách của bạn
- Đánh giá mức sử dụng tài nguyên của các user
- Xóa các user không hoạt động
Trong bài viết này, chúng ta sẽ tìm hiểu hai cách để liệt kê các user đang ở trạng thái Suspend trên DirectAdmin:
- Sử dụng bảng điều khiển DirectAdmin
- Sử dụng lệnh SSH
Để bắt đầu, hãy đăng nhập vào bảng điều khiển DirectAdmin của bạn.
Sử dụng bảng điều khiển DirectAdmin
Để liệt kê các user đang ở trạng thái Suspend trên bảng điều khiển DirectAdmin, hãy làm theo các bước sau:
Chọn Account Manager => Show All Users => Show Search
Tiếp theo bạn chọn như ảnh bên dưới.
- Column: Suspended
- Filter Type: Equal
- Filter Value: Yes
Bảng sẽ liệt kê tất cả các user đang ở trạng thái Suspend như ảnh bên dưới
Sử dụng lệnh SSH
Để liệt kê các user đang ở trạng thái Suspend trên DirectAdmin bằng lệnh SSH, hãy làm theo các bước sau:
- Mở kết nối SSH đến máy chủ của bạn.
- Chạy lệnh sau:
cd /usr/local/directadmin/data/users
grep -r "suspended=yes" */user.conf
Chia sẻ Script liệt kê và tính dung lượng
Với nhu cầu thường xuyên kiểm tra và tính tổng các user đang ở trạng thái Suspend. Tôi đã viết sẵn một script nhỏ để làm việc này và xin chia sẻ lại cho bạn.
Bạn hãy tạo một file checkuser.sh
và dán vào nội dung sau. Sau khi dán xong hãy phân chuyên chmod +x checkuser.sh
và chạy nhé.
#!/bin/bash #Author: DOTRUNGQUAN.INFO # Di chuyển đến thư mục chứa dữ liệu người dùng DirectAdmin cd /usr/local/directadmin/data/users # Tìm kiếm các tài khoản bị suspend và lưu vào file user_suspend.txt (chỉ lấy phần tên người dùng) grep -r "suspended=yes" */user.conf | sed 's/\/user.conf:suspended=yes//' > /root/admin-script/user_suspend.txt # Đếm số lượng người dùng đang suspend và in ra suspend_count=$(cat /root/admin-script/user_suspend.txt | wc -l) echo "Số lượng user đang Suspend là: $suspend_count" # Đọc danh sách người dùng từ tệp user_suspend.txt vào mảng users mapfile -t users < /root/admin-script/user_suspend.txt # Tính tổng dung lượng total_size=0 for user_info in "${users[@]}"; do # Lấy tên người dùng từ thông tin dòng user=$(echo "$user_info" | awk -F '/' '{print $1}') user_dir="/home/$user/" # Thay đổi đường dẫn tùy theo cấu trúc thư mục của bạn user_size=$(du -sh "$user_dir" | awk '{print $1}') echo "Dung lượng của $user: $user_size" total_size=$((total_size + $(du -sb "$user_dir" | awk '{print $1}'))) done # Chuyển đổi tổng dung lượng thành GB total_size_gb=$(bc <<< "scale=2; $total_size / (1024*1024)") echo "Tổng dung lượng của các user là: ${total_size_gb}GB"
Hy vọng bài viết này đã giúp bạn tìm hiểu cách liệt kê các user đang ở trạng thái Suspend trên DirectAdmin.