Tôi có thể thay đổi người nhận thư mặc định trong các công việc định kỳ không?


12

Tôi tin rằng nếu có bất kỳ đầu ra nào từ một cronjob, nó sẽ được gửi đến người dùng mà công việc thuộc về. Tôi nghĩ bạn cũng có thể thêm một cái gì đó giống như MAILTO=vivek@nixcraft.inở đầu tập tin cron để thay đổi nơi đầu ra được gửi đến.

Tôi có thể đặt tùy chọn để các công việc cron trên toàn hệ thống sẽ được gửi qua email root thay vì cho người dùng chạy chúng không? (tức là để tôi không phải đặt cái này trong mỗi tệp cron của người dùng)

Câu trả lời:


9

Kiểm tra /etc/crontabtập tin và thiết lập MAILTO=rootở đó. Cũng có thể cần trong /etc/rctập tin

cronddường như chấp nhận biến MAILTO, tôi đoán tôi không chắc chắn hoàn toàn nhưng đáng để thử thay đổi biến môi trường cho crond trước khi nó được bắt đầu. Giống như trong /etc/sysconfig/crondhoặc /etc/rc.d/init.d/crondtập lệnh mà nguồn tập tin trước đó.

Thí dụ:

[centos@centos scripts]$ strings /usr/sbin/crond | grep -i mail
ValidateMailRcpts
MailCmd
cron_default_mail_charset
usage:  %s [-n] [-p] [-m <mail command>] [-x [
CRON_VALIDATE_MAILRCPTS
mailed %d byte%s of output but got status 0x%04x
[%ld] no more grandchildren--mail written?
MAILTO
/usr/sbin/sendmail
mailcmd too long
[%ld] closing pipe to mail
MAIL

Cảm ơn rất nhiều! +1. Có lẽ đặt phần dưới cùng của câu trả lời của bạn ở định dạng preformat / code?
cwd

7

Đưa MAILTO=rootvào /etc/default/cron. Tập tin này chứa các thiết lập mặc định của cron.

man 5 crontab nói,

Nếu MAILTO được xác định (và không trống), thư sẽ được gửi cho người dùng được đặt tên như vậy.

Tham khảo: http://man.cx/cron(1)#heading4


Ở đâu? cho mỗi tập tin crontab của người dùng?
Nikhil Mulley

@Nikhil kiểm tra câu trả lời cập nhật của tôi.
Sachin Divekar

1
nó chỉ hoạt động cho người dùng mà crontab có nó. Nó có hoạt động không, nếu bất kỳ người dùng nào không đặt biến này? Tôi nghĩ rằng @Cwd đã yêu cầu cụ thể về cài đặt toàn cầu dành cho tất cả người dùng.
Nikhil Mulley

@SachinDivekar -1 Nikhil là đúng. Ngoài ra bạn đã chỉnh sửa câu hỏi của tôi và thay đổi ý nghĩa của nó. Ý nghĩa được chỉnh sửa không phù hợp với câu trả lời của bạn, nhưng đây không phải là điều tôi đang hỏi.
cwd

2
Điều này không làm việc cho tôi. Tôi đã đặt MAILTO trong tệp mặc định và khởi động lại dịch vụ cron, nhưng nó vẫn đang gửi đến root (tôi đang cố gửi đến một địa chỉ email bên ngoài)
peedee
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.