Tags

, , , , ,

MỘT SỐ SSH COMMAND ĐỂ LÀM VIỆC VỚI QUEUE CỦA EXIM (LINUX)

Nếu bạn là 1 người quản trị hosting server và đang sử dụng Web Hosting Manager (WHM) để quản trị, bạn sẽ thường xuyên phải xử lý các vấn đề liên quan đến hệ thống mail. Trong WHM, tích hợp sẵn hệ thống mail EXIM và có các trang chức năng cung cấp giao diện quản trị cho hệ thống mail.

Tuy nhiên, nếu như chỉ sử dụng những giao diện này để quản lý thì sẽ gặp rất nhiều hạn chế trong nhiều trường hợp như: xóa 1 vài email nhất định, chỉ xóa đi các email spam,…

Để thực hiện chúng ta cần phải biết 1 số câu lệnh ssh nhất định và có trong tay 1 tools để gõ lệnh SSH như Putty, OpenSSh, SSH Secure Shell, …

Sau đây là 1 số lệnh SSH cơ bản:

1. Liệt kê danh sách tất cả các email có trong queue

exim -bp

2. Đếm Số lượng các mail đang trong queue

exim -bpc

3. Đếm Số lượng các mail đang ở Tình trạng Frozen (bị nhận dạng là spam)

exim -bpr | grep frozen | wc -l

4. Xem thông tin tổng quát về các email trong queue

exim -bp | exiqsumm

5. Kiểm tra hành động hiện thời của exim

exiwhat

6. Force để run queue

exim -q -v

7. Force run queue để gửi các email trong local

exim -ql -v

8. Xem header của 1 mail nào đó

exim -Mvh <id của mail>

9. Xem nội dung của 1 mail nào đó

exim -Mvb <id của mail>

10. Xóa tất cả các mail đang ở tình trạng frozen

exiqgrep -z -i | xargs exim -Mrm

11. Xóa tất cả các mail đã nằm trong queue vượt trên 1 khoảng thời gian được định

exiqgrep -o <thời gian> -i | xargs exim -Mrm

trong đó <thời gian> là số giây tối đa mà các email đã chờ trong queue, nếu email nào đã chờ quá <thời gian> sẽ bị xóa đi.

Ví dụ lệnh SSH sau đây sẽ xóa tất cả email đã chờ quá 1 ngày:

exiqgrep -o 86400 -i | xargs exim -Mrm

12. Xóa tất cả email được gửi đi từ 1 domain hay 1 account nào đó

exiqgrep -f <người gửi>  -i | xargs exim -Mrm

trong đó <người gửi> là 1 chuỗi (string) sẽ được so sánh với thông tin về người gửi ($header_from)  trong header của email, nếu phù hợp sẽ bị xóa đi. Ví dụ lệnh SSH sau sẽ xóa đi tất cả email đang chờ trong queue để gửi đi của account sales@abc.com

exiqgrep -f sales@abc.com -i | xargs exim -Mrm

13. Xóa tất cả email gửi  đến 1 domain hay 1 account nào đó

exiqgrep -r <người nhận>  -i | xargs exim -Mrm

trong đó <người nhận> là 1 chuỗi (string) sẽ được so sánh với thông tin về người nhận( $header_to) trong header của email, nếu phù hợp sẽ bị xóa đi. Ví dụ lệnh SSH sau sẽ xóa đi tất cả email đang chờ được gửi từ các email có chữ “info”

exiqgrep -f info -i | xargs exim -Mrm

Enjoy!!!
Nhat Phan