Các công việc cron.monthly chạy trong SLES lúc mấy giờ?


0

doc nói cron.monthly sẽ được lên lịch theo thời gian chạy đầu tiên và nó so sánh /var/spool/cron/lastrun/cron.monthly với thời gian hiện tại để chạy. Câu hỏi là nó sẽ chạy theo chỉ thị DAILY_TIME trong tệp / etc / sysconfig / cron hoặc /var/spool/cron/lastrun/cron.monthly time. Nếu nó theo sau /var/spool/cron/lastrun/cron.monthly thì tôi có phải chạm vào tệp khi tôi muốn công việc được phân loại không ???

Câu trả lời:


0

Khi nào cron chạy cronjobs hàng tháng?

cron bắt đầu cronjobs hàng tháng một lần một tháng tại /var/spool/cron/lastrun/cron.monthly Thời gian sửa đổi (hoặc chính xác hơn, đôi khi trong phạm vi 15 phút sau thời gian đó).

Bạn có thể thấy rằng trong /usr/lib/cron/run-crons, được bắt đầu mỗi 15 phút trong /etc/crontab:

# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1

Khi giao dịch với cronjobs hàng tháng /usr/lib/cron/run-crons:

  1. Kiểm tra xem cron.monthly trong /var/spool/cron/lastrun/ lớn hơn một tháng.

  2. Bỏ qua cronjobs hàng tháng nếu không.

  3. Nếu không, xóa tệp khóa:

    eval find $SPOOL/$BASE $TIME | \
              xargs --no-run-if-empty rm
    

    thêm cronjob hàng tháng vào danh sách chạy:

    if test ! -e $SPOOL/$BASE ; then
        # accept this dir, if it isn't empty 
        LIST=`find $CRONDIR ! -type d`
        if [ ! -z "$LIST" ] ; then
            RUN="${RUN} ${TIME_EXT}"
        fi
    fi
    

    và điều hành công việc.

Làm thế nào tôi có thể lên lịch cronjobs hàng tháng?

  • Nếu bạn muốn các cronjobs hàng tháng chạy ngay bây giờ (nghĩa là trong 15 phút tiếp theo), hãy xóa /var/spool/cron/lastrun/cron.monthly.

  • Nếu bạn muốn các cronjobs hàng tháng chạy vào lúc 3 giờ sáng bắt đầu từ hôm nay, hãy làm:

    $ touch -d "$(date -d "3am last month")" /var/spool/cron/lastrun/cron.monthly
    

    Sửa đổi lệnh trên theo nhu cầu của bạn.

Các DAILY_TIME biến

Các DAILY_TIME biến chỉ áp dụng cho các công việc định kỳ hàng ngày, như có thể thấy trong /usr/lib/cron/run-crons và được ghi lại trong /etc/sysconfig/cron:

# At which time cron.daily should start. (...)
DAILY_TIME=""
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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.