Cron job vẫn chạy khi bị xóa


8

Trên một máy chủ mà tôi được thừa kế, có một croncông việc chạy hàng giờ trên một trong các máy chủ Debian. Nó sẽ gửi một email ra một email không tồn tại, nhưng bị trả lại tài khoản của tôi vì tôi đã liệt kê mình là rootemail /etc/aliases. Công việc định kỳ đã bị xóa khỏi /etc/cron.hourly(đó là ntupdate), vì nó được liệt kê trong email. Tôi đã tải lại crontabtrình nền, nhưng tôi vẫn nhận được báo cáo hàng giờ rằng tệp không khởi chạy được và địa chỉ email không tồn tại!

Đầu ra đang được gửi qua email:

/etc/cron.hourly/ntpdate:
run-parts: failed to exec /etc/cron.hourly/ntpdate: Exec format error
run-parts: /etc/cron.hourly/ntpdate exited with return code 1

Hiện tại, chỉ có các .placeholdertập tin ẩn trong /etc/cron.hourly. Tôi cũng đã chạy crontab -l, và 3 công việc duy nhất được liệt kê dự kiến ​​sẽ được liệt kê và sẽ chạy khoảng 10 phút sau khi email này tiếp tục đến; vì vậy tôi biết nó không phải là một trong số đó Tôi có thể tìm ở đâu để dừng nhận những email này?

EDIT # 1

# ls -l /var/spool/cron
total 4
drwx-wx--T 2 root crontab 4096 Jan 25  2012 crontabs

EDIT # 2

# ls -l /var/spool/cron/crontabs/
total 4
-rw------- 1 root crontab 311 Jan 25  2012 root
# more /var/spool/cron/crontabs/root
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.4nUf85/crontab installed on Wed Jan 25 10:11:10 2012)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
2 1 * * * /etc/webmin/cron/tempdelete.pl
0 22 * * * /etc/init.d/gnugk stop
0 23 * * * /etc/init.d/gnugk start

Đây là trên Debian Squeeze, bằng cách sử dụng cron, theo như tôi có thể nói


Phân phối này là gì (tôi giả sử bạn đang ở trên Linux)? Cron nào? Có sự khác biệt giữa các triển khai trên các bản phát hành khác nhau. Làm thế nào bạn tải lại crondaemon? Là khởi động lại máy chủ là một tùy chọn?
terdon

Là những email thực sự đến từ máy chủ đó? Họ có gần đây không?
sendmoreinfo

@terdon Cập nhật. Có thể khởi động lại, nhưng không muốn
Canada Luke

@sendmoreinfo Vâng, họ đến từ tài khoản root @ * servername *. Chúng đang diễn ra vào 29 phút trước mỗi giờ, mỗi giờ
Canada Luke

Và tôi tưởng tượng bạn đã chạy service cron restart?
terdon

Câu trả lời:


4

hệ thống crons

Bạn đã xem qua các tập tin và thư mục này để đảm bảo không có sự hiện diện của cronjob trùng lặp?

  • / etc / crontab
  • /etc/cron.hourly/
  • /etc/cron.d/
  • /etc/cron.d Daily /
  • /etc/cron.hourly/
  • /etc/cron.monthly/
  • /etc/cron.weekly/

Ngoài ra, bất kỳ tệp nào có trong các thư mục thực thi này sẽ được chạy. Không quan trọng nếu đó là tên .placeholder hoặc bất cứ điều gì. Bạn có thể sử dụng chmod 644 ...để vô hiệu hóa bất kỳ tập lệnh nào có thể thực thi được.

người dùng crontabs

Ngoài ra, hãy kiểm tra thư mục sau để xem có người dùng nào đã tạo crontabs của riêng họ không:

Ví dụ:

$ sudo ls -l /var/spool/cron/
total 0
-rw------- 1 saml root 0 Jun  6 06:43 saml

Cập nhật lại :)
Canada Luke

@CanadianLuke - syslogchương trình có gì khác không? /var/log/syslog.
slm

Tôi thấy rằng việc khởi động lại đã xảy ra với dịch vụ CRON, nhưng không có gì sau đó (Skipping @reboot jobs -- not system startup)
Luke Luke

@CanadianLuke - bạn có anacron cùng với thiết lập cron để chạy không?
slm

1
@CanadianLuke - các email cho thấy rằng nó đang chạy ngay bây giờ hay các email này được xếp hàng và chỉ được gửi ngay bây giờ?
slm
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.