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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.