Logfile của tôi ở đâu của crontab?


9

no / var / log / cron, no /var/log/cron.log trên debian7 của tôi, logfile của crontab của tôi ở đâu?

ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory

Câu trả lời:


13

Tôi nghĩ về việc debian cronviết nhật ký /var/log/syslog.
Nếu hệ thống của bạn phụ thuộc vào rsysloghoặc syslogdbạn có thể kiểm tra và bỏ ghi chú trong /etc/rsyslog.confhoặc /etc/syslog.confcho dòng:

# cron.* /var/log/cron.log

và sau đó khởi động lại dịch vụ.

Nếu hệ thống của bạn phụ thuộc vào systemdví dụ, bạn có thể kiểm tra bằng lệnh sau:

journalctl _COMM=cron

hoặc là

journalctl _COMM=cron --since="date" --until="date"

Đối với định dạng ngày, bạn có thể kiểm tra tạp chí .


không /etc/rsyslog.con và /etc/syslog.conf trong debian7 của tôi.
it_is_a_literature

để tập tin đầu tiên đó là một lỗi đánh máy nên là /etc/rsyslog.conf nếu bạn không dùng systemd.
Taliezin

những gì về sudo journalctl --since yesterday -u cron.service? Là _COMM
bảnh bao

4

Theo mặc định, đầu ra từ các crontabcông việc được gửi đến địa chỉ email cục bộ của người dùng sở hữu. ví dụ: Đầu crontabra cho aUser trên máy chủ www.aDomain.com sẽ được gửi đến aUser@www.aDomain.com . Hệ thống sử dụng trình gửi thư mặc định của nó để hoàn thành nhiệm vụ.

Bạn có thể chuyển hướng đầu ra này sang một địa chỉ email thay thế bằng cách thêm một MAILTOcâu lệnh trong tệp crontab. Ví dụ:

# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com
# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh 

Hãy cẩn thận khi sử dụng địa chỉ email bên ngoài để nhận nhật ký crontab. Tin nhắn thường xuyên gửi có thể bị bắt trong một bộ lọc thư rác. Sau đó, bạn sẽ phải đánh dấu các tin nhắn là Không phải Spam đối với các dịch vụ như Yahoo, HotMail hoặc Gmail.

Một giải pháp thay thế sẽ là chuyển hướng đầu ra của các lệnh crontab của bạn sang một tệp bạn chọn. Trong ví dụ dưới đây stdoutstderrđầu ra được gửi đến /tmp/aJob.log. Phương pháp này giúp loại bỏ khả năng thư email được gửi.

# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh >> /tmp/aJob.log 2>&1

Một cách khác là gửi stderrnhật ký đến email và stdoutnhật ký vào một tệp. Trong trường hợp này, bạn sẽ được thông báo qua email khi các crontablệnh của bạn tạo ra các thông báo lỗi không mong muốn. Sự khác biệt với ví dụ trước 2>&1là loại bỏ để cho phép stderrđầu ra đi đến bàn điều khiển và do đó gửi email.

# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com    
# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh >> /tmp/aJob.log

Đọc thêm bảng crontablệnh crontab


1

Vì đây không phải là thẻ debian và cũng xuất hiện trong các tìm kiếm của fedora, nên đây là cách kiểm tra các fedora gần đây (dựa trên hệ thống):

sudo systemctl status crond

Sản lượng tiêu biểu

 crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-09-29 16:09:21 CEST; 47min ago
 Main PID: 1167 (crond)
    Tasks: 1
   Memory: 2.8M
      CPU: 948ms
   CGroup: /system.slice/crond.service
           └─1167 /usr/sbin/crond -n

Sep 29 16:09:21 ncelrnd0216 systemd[1]: Started Command Scheduler.
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) STARTUP (1.5.4)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (Syslog will be used instead of sendmail.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 31% if used.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (running with inotify support)

allcác bản ghi với

journalctl --unit crond -n all
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.