Có Linux gửi cho bạn một thông báo email sau khi hoàn thành nhiệm vụ
Trong bài viết này, chúng ta sẽ xem xét cách bạn có thể kích hoạt một cảnh báo email khi một điều kiện nhất định được đáp ứng. Chúng tôi giả sử bạn là người dùng trung cấp hoặc cao cấp - bạn nên làm như vậy, nếu bạn đang tìm cách thiết lập cảnh báo qua email trên Linux - và bạn đã cài đặt ứng dụng thư khách.
Việc gửi thông báo cho bạn qua email có thể rất hữu ích. Ví dụ, nếu bạn có một bản dựng lớn đang được thực hiện trong nền, nó không có ý nghĩa để chờ đợi xung quanh cho quá trình kết thúc. Trong những trường hợp như vậy, bạn có thể yêu cầu Linux gửi cho bạn một tin nhắn khi quá trình xây dựng hoàn tất. Nó giúp bạn tiết kiệm rất nhiều thời gian. Bạn cũng có thể gửi thông báo qua email cho bạn tại một thời điểm nhất định. Nếu bạn có một sự tham gia vào buổi tối, bạn có thể lập trình nó vào Linux để bạn không quên!
Trước tiên, hãy xem nhanh cách bạn có thể gửi email cho chính mình. Lệnh cho nó là “ mailx
” hoặc “ mail
”. Lệnh này có thể khác trên hệ thống của bạn, tùy thuộc vào phiên bản Linux bạn đang chạy (và nó sẽ chỉ hoạt động nếu máy chủ đã được thiết lập đúng cách). Cú pháp lệnh là:
mailx –s "chủ đề của bạn" [email protected] <<< "thông điệp của bạn"
Bạn cũng có thể đính kèm một tập tin này, nếu bạn muốn
mailx –s "chủ đề của bạn" [email protected] <filename.txt
Bắt Linux kích hoạt cảnh báo email
Bây giờ, chúng ta có thể ghép nối lệnh mà chúng ta đã sử dụng ở trên với một câu lệnh có điều kiện. Điều này có nghĩa là khi điều kiện được thỏa mãn, một email sẽ được gửi cho bạn. Nhập nội dung sau vào dòng lệnh:
condition_when_done date | mailx –s "subject" [email protected] <<< "thông điệp của bạn"
Điều này có thể được thực hiện theo một cách khác nữa. Hãy xem một ví dụ khác. Điều gì sẽ xảy ra nếu bạn đang chờ một máy chủ phản hồi? Bạn có thể tiếp tục nhập lệnh trong trình bao hoặc bạn có thể có cảnh báo qua email được gửi đến cho bạn khi máy chủ khởi động. Bạn có thể sử dụng lệnh này, ví dụ:
trong khi :; làm ngày; ping –c1 servername && break; \làm xong; thư
Nếu bạn nhìn kỹ, đoạn mã trên là một vòng lặp vô hạn. Khi hệ thống của bạn ping máy chủ (servername), vòng lặp bị hỏng và một thư sẽ được gửi cho bạn. Bạn không cần đợi cho đến khi máy chủ khởi động hoặc cập nhật.
Nếu bạn lo lắng về tài nguyên hệ thống đang được chi tiêu, bạn có thể đặt hệ thống ngủ bằng cách sửa đổi lệnh một chút:
trong khi :; làm ngày; ping –c1 servername && break; ngủ 200; \làm xong; thư
Trong trường hợp này, máy tính sẽ ngủ trong 200 giây trước khi nó thực hiện một chu kỳ mới. Bạn cũng nhận được một cảnh báo thông thường (rằng vòng lặp đang hoạt động) sau mỗi vài giây theo cách này.
Bạn có thể đặt hầu như bất kỳ lệnh shell nào làm điều kiện (miễn là nó hợp lý và không làm quá tải hệ thống của bạn):
trong khi :; làm ngày; the_command_to_be_executed && break; \làm xong; thư
Điều gì xảy ra nếu bạn muốn gửi email cho chính mình vào một ngày nhất định tại một thời điểm nhất định? Bạn có thể thay đổi lệnh trên một chút như sau:
trong khi [date + "% T" -gt '06: 00: 00 ']; làm ngày; the_command_to_be_executed && break; \làm xong; thư
Nếu bạn muốn nhận thông báo bất cứ khi nào bạn nhận được email trên hệ thống Linux, bạn có thể cài đặt các ứng dụng hỗ trợ thông báo qua email. Hai trong số các ứng dụng phổ biến hơn là PopTray Minus và Mail Notification.
Bạn có thể thử nghiệm với các lệnh được đưa ra ở trên. Tiền đề là đơn giản - chỉ cần thiết kế một tuyên bố điều kiện, khi gặp, sẽ kích hoạt một cảnh báo email. Nếu bạn cần thêm thông tin hoặc trợ giúp về cách sử dụng mailx, chỉ cần nhập " mailx --help
" để hiển thị danh sách trợ giúp.
Hình ảnh tín dụng: tux cờ linux chim cánh cụt đỏ vẫy tay chào, màu xám mail phong bì trắng thư bưu chính, bộ nhớ nhắc nhở nhắc nhở kiểm soát chiều