§

Cron ಅಭಿವ್ಯಕ್ತಿ ನಮೂದಿಸಿ ಅಥವಾ ಕೆಳಗಿನ ಪ್ರಿಸೆಟ್ ಆಯ್ಕೆ ಮಾಡಿ.

ತ್ವರಿತ ಪ್ರಿಸೆಟ್‌ಗಳು:
§

ಮುಂದಿನ 10 ಚಲಾವಣೆ ಸಮಯ

cron

ಮಾನವ-ಓದಬಹುದಾದ ಶೆಡ್ಯೂಲ್ ಇಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ...

    §

    ಅಭಿವ್ಯಕ್ತಿ ಬಿಲ್ಡರ್

    ಭಾರತದ DevOps ಮತ್ತು ಕ್ಲೌಡ್ ಇಂಜಿನಿಯರ್‌ಗಳು — Bengaluru, Hyderabad ಮತ್ತು Pune ದ ಕ್ಯಾಪ್ಟಿವ್ ಟೆಕ್ ಕೇಂದ್ರಗಳಲ್ಲಿ — AWS EventBridge, Google Cloud Scheduler ಮತ್ತು Kubernetes CronJob ಗಳ ಮೂಲಕ cron syntax ಪ್ರತಿ ದಿನ ಎದುರಿಸುತ್ತಾರೆ. IST UTC+5:30 ಆಗಿರುವ ಕಾರಣ ಡೀಫಾಲ್ಟ್-UTC ಶೆಡ್ಯೂಲ್‌ಗಳು ಸ್ಥಳೀಯ ಸಮಯಕ್ಕೆ ರೂಪಾಂತರಿಸಲ್ಪಟ್ಟಾಗ ಅಸಾಮಾನ್ಯ ಸಮಯ ನೀಡುತ್ತವೆ. ಈ ಸಾಧನ ನೀವು ಅಂಟಿಸಿದ ಯಾವ ಫ್ಲೇವರ್ ಪಾರ್ಸ್ ಮಾಡಿ, ನೀವು ಆಯ್ಕೆ ಮಾಡಿದ IANA ಜೋನ್‌ನಲ್ಲಿ ಮುಂದಿನ ಹತ್ತು ಚಲಾವಣೆ ಸಮಯ ತೋರಿಸಿ, ಮತ್ತು ಉತ್ಪಾದನೆಗೆ ಶಿಪ್ ಮಾಡುವ ಮೊದಲು ಶೆಡ್ಯೂಲ್ ಸ್ವಚ್ಛತಾ-ಪರಿಶೀಲಿಸಲು ಒಂದು ಕ್ಷೇತ್ರ ಸಮಯದಲ್ಲಿ ತಾಜಾ ಅಭಿವ್ಯಕ್ತಿ ನಿರ್ಮಿಸಲು ಅನುವು ಮಾಡುತ್ತದೆ.

    Cron ಅಭಿವ್ಯಕ್ತಿ ಎಂದರೇನು?

    Cron ಅಭಿವ್ಯಕ್ತಿ ಒಂದು ಸಂಕ್ಷಿಪ್ತ ಶೆಡ್ಯೂಲಿಂಗ್ ಸ್ಟ್ರಿಂಗ್ ಆಗಿದ್ದು ಕೆಲಸ ಶೆಡ್ಯೂಲರ್‌ಗೆ ಯಾವಾಗ ಕಾರ್ಯ ಚಲಾಯಿಸಬೇಕೆಂದು ನಿಖರವಾಗಿ ಹೇಳುತ್ತದೆ. ಫಾರ್ಮ್ಯಾಟ್ 1975 ರಲ್ಲಿ Unix V7 cron daemon ನಲ್ಲಿ ಹುಟ್ಟಿ ಇಂದು Kubernetes CronJobs, AWS EventBridge, GitHub Actions workflows, Google Cloud Scheduler ಮತ್ತು ಪ್ರತಿ Linux ಡಿಸ್ಟ್ರಿಬ್ಯೂಶನ್‌ನೊಂದಿಗೆ ಶಿಪ್ ಆಗುವ crontab ಬೈನರಿಯಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಗ್ರಾಮರ್ ಹದಿಮೂರು ಅಕ್ಷರಗಳಲ್ಲಿ ಬಹಳಷ್ಟು ಅರ್ಥ ಪ್ಯಾಕ್ ಮಾಡುತ್ತದೆ, ಅದಕ್ಕಾಗಿ ಇದನ್ನು ಸರಳ ಆಂಗ್ಲ ಭಾಷೆಗೆ ಪರಿವರ್ತಿಸುವ ಪಾರ್ಸರ್ ವಿಶ್ವಾಸದ ಡಿಪ್ಲಾಯ್ ಮತ್ತು 3 AM ರೋಲ್‌ಬ್ಯಾಕ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸ.

    Cron ಅಭಿವ್ಯಕ್ತಿ ಹೇಗೆ ಕಾರ್ಯ ನಿರ್ವಹಿಸುತ್ತದೆ?

    ಮಾನಕ cron ಅಭಿವ್ಯಕ್ತಿ ಐದು ಸ್ಪೇಸ್-ಬೇರ್ಪಟ್ಟ ಕ್ಷೇತ್ರಗಳನ್ನು ಹೊಂದಿದ್ದು ಪುನರಾವರ್ತಿತ ಶೆಡ್ಯೂಲ್ ವ್ಯಾಖ್ಯಾನಿಸುತ್ತವೆ. ಎಂಜಿನ್ ಪ್ರತಿ ನಿಮಿಷ ಪ್ರಸ್ತುತ ಗಡಿಯಾರ ವಿರುದ್ಧ ಅಭಿವ್ಯಕ್ತಿ ಪರಿಶೀಲಿಸಿ ಐದೂ ಕ್ಷೇತ್ರ ಹೊಂದಿದಾಗ ಕೆಲಸ ಚಲಾಯಿಸುತ್ತದೆ. ಕ್ಷೇತ್ರಗಳು, ಎಡದಿಂದ ಬಲಕ್ಕೆ:

    1. ನಿಮಿಷ (0–59). ಗಂಟೆಯಲ್ಲಿ ಯಾವ ನಿಮಿಷದಲ್ಲಿ ಕೆಲಸ ಚಲಾಯಿಸುತ್ತದೆ. 0 ಎಂದರೆ ಗಂಟೆಯ ಮೇಲೆ, 30 ಎಂದರೆ ಅರ್ಧ ಗಂಟೆ, */5 ಎಂದರೆ ಪ್ರತಿ ಐದು ನಿಮಿಷ, ಮತ್ತು 15,45 ಎಂದರೆ ಹದಿನೈದು ಮತ್ತು ನಲ್ವತ್ತೈದು ನಿಮಿಷದಲ್ಲಿ.
    2. ಗಂಟೆ (0–23). 24-ಗಂಟೆ ಗಡಿಯಾರದ ಮೇಲೆ ದಿನದ ಯಾವ ಗಂಟೆ. 0 ಮಧ್ಯರಾತ್ರಿ, 9 ಬೆಳಿಗ್ಗೆ 9, 17 ಸಂಜೆ 5. ಶ್ರೇಣಿಗಳು (9-17) ಮತ್ತು ಹೆಜ್ಜೆ ಮೌಲ್ಯಗಳು (*/2) ನಿಮಿಷಗಳಂತೆ ಕಾರ್ಯ ನಿರ್ವಹಿಸುತ್ತವೆ.
    3. ತಿಂಗಳ ದಿನ (1–31). ಯಾವ ಕ್ಯಾಲೆಂಡರ್ ದಿನ ಚಲಾಯಿಸಬೇಕು. 1 ಮೊದಲನೇ, * ಪ್ರತಿ ದಿನ, 1,15 ಮೊದಲ ಮತ್ತು ಹದಿನೈದನೇ.
    4. ತಿಂಗಳು (1–12 ಅಥವಾ JAN–DEC). ಯಾವ ತಿಂಗಳಲ್ಲಿ ಚಲಾಯಿಸಬೇಕು. * ಪ್ರತಿ ತಿಂಗಳು, 1,7 ಜನವರಿ ಮತ್ತು ಜುಲೈ, 1-3 Q1 ಮಾತ್ರ.
    5. ವಾರದ ದಿನ (0–7, ಎರಡೂ 0 ಮತ್ತು 7 ಭಾನುವಾರ). ನಿರ್ದಿಷ್ಟ ವಾರದ ದಿನಗಳಿಗೆ ಚಲಾವಣೆ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ. 1-5 ಸೋಮವಾರದಿಂದ ಶುಕ್ರವಾರ, 0,6 ವಾರಾಂತ್ಯ. ತಿಂಗಳ ದಿನ ಮತ್ತು ವಾರದ ದಿನ ಎರಡೂ ನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯಗಳಿಗೆ ಹೊಂದಿಸಿದಾಗ, ಕ್ಲಾಸಿಕ್ cron ಯಾವುದಾದರೂ ಹೊಂದಿಕೆ ಆದಾಗ ಚಲಾಯಿಸುತ್ತದೆ (ಲಾಜಿಕ್ OR).

    Cron ಅಭಿವ್ಯಕ್ತಿ ಪಾರ್ಸರ್ ಏಕೆ ಬಳಸಬೇಕು?

    • ಡಿಪ್ಲಾಯ್ ಮೊದಲು ಮೌನ ತಪ್ಪು ಓದು ಹಿಡಿಯಿರಿ. `0 2 */3 * *` ಅಭಿವ್ಯಕ್ತಿ ಪ್ರತಿ ಮೂರು ನಿಮಿಷ ಅಲ್ಲ, ಪ್ರತಿ ಮೂರನೇ ದಿನ 2 AM ಗೆ ಚಲಾಯಿಸುತ್ತದೆ — ಅದನ್ನು ಇಲ್ಲಿ ಅಂಟಿಸಿ ಉತ್ಪಾದನೆಗೆ ಶಿಪ್ ಮಾಡುವ ಮೊದಲು ಸರಳ ಆಂಗ್ಲದಲ್ಲಿ ನೋಡಿ.
    • ಹೆಚ್ಚಿನ ಕ್ಲೌಡ್ ಶೆಡ್ಯೂಲರ್‌ಗಳು ಡೀಫಾಲ್ಟ್ ಆಗಿ UTC ನಲ್ಲಿ ಚಲಾಯಿಸುತ್ತವೆ. ಮುಂದಿನ ಹತ್ತು ಚಲಾವಣೆ ಸಮಯ IST ಯಲ್ಲಿ ಪೂರ್ವಾವಲೋಕಿಸಿ DST ಅಥವಾ UTC ಆಫ್‌ಸೆಟ್ ಡ್ರಿಫ್ಟ್ 3 AM ಗೆ ಯಾರನ್ನಾದರೂ ಪೇಜ್ ಮಾಡುವ ಮೊದಲು ತೋರಿಸುತ್ತದೆ.
    • `@daily`, `@weekly`, ಮತ್ತು `@monthly` ಮೊದಲಾದ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು ಅನುಕೂಲಕರ ಆದರೆ ಅಸ್ಪಷ್ಟ. ಪಾರ್ಸರ್ ಆಧಾರ ಐದು-ಕ್ಷೇತ್ರ ರೂಪ ತೋರಿಸಿ ನೀವು ಏನು ಶೆಡ್ಯೂಲ್ ಮಾಡಿದ್ದೀರಿ ಎಂದು ನಿಖರವಾಗಿ ತಿಳಿಯುತ್ತೀರಿ.
    • ಕ್ಷೇತ್ರ-ಕ್ಷೇತ್ರ ಬಿಲ್ಡರ್ ಒಂದು ಕಾಲಮ್ ಒಂದರ ಬಾರಿ ಶೆಡ್ಯೂಲ್ ರಚಿಸಲು ಮತ್ತು ಮಾನವ ವಿವರಣೆ ಲೈವ್ ನವೀಕರಣ ನೋಡಲು ಅನುವು ಮಾಡುತ್ತದೆ.

    Cron ಅಭಿವ್ಯಕ್ತಿಗಳು ಎಲ್ಲಿ ಬಳಸಲ್ಪಡುತ್ತವೆ?

    Cron syntax ಗಡಿಯಾರದ ಮೇಲೆ ಕೆಲಸ ಪುನರಾವರ್ತಿಸಬೇಕಾದ ಯಾವ ಸ್ಥಳದಲ್ಲೂ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಮೂರು ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಸ್ಥಳಗಳು:

    • ಬ್ಯಾಕ್‌ಅಪ್ ಶೆಡ್ಯೂಲ್‌ಗಳು. ರಾತ್ರಿ 2 AM ಗೆ ಡೇಟಾಬೇಸ್ S3 ಗೆ ಡಂಪ್ ಮಾಡುವ ಕ್ಲಾಸಿಕ್ `crontab -e` ನಮೂದು, ಅಥವಾ ಪ್ರತಿ ತಿಂಗಳ 1 ರಂದು `pg_dump` ಆರ್ಕೈವ್ ರೊಟೇಟ್ ಮಾಡುವುದು. `0 2 * * * /usr/local/bin/backup.sh` ನಂತಹ ಸಾಲು ಇತಿಹಾಸದಲ್ಲಿ ಯಾವ ಇತರ cron ಸಾಲಿಗಿಂತ ಹೆಚ್ಚಿನ Linux ಸರ್ವರ್‌ಗಳಲ್ಲಿ ಶಿಪ್ ಆಗಿದೆ.
    • GitHub Actions `schedule` ಟ್ರಿಗ್ಗರ್‌ಗಳು. `.github/workflows/*.yml` ನಲ್ಲಿ `on.schedule.cron` ಕೀ ಮಾನಕ ಐದು-ಕ್ಷೇತ್ರ cron ಸ್ವೀಕರಿಸುತ್ತದೆ, ಆದರೆ ಕೆಲಸ ಯಾವಾಗಲೂ UTC ನಲ್ಲಿ ಚಲಾಯಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ಮಾದರಿ: ಸೋಮ-ಶುಕ್ರ 9 AM UTC ಡೈಜೆಸ್ಟ್ ಕಳಿಸಲು `cron: '0 9 * * 1-5'`. IST (UTC+5:30) ನಲ್ಲಿ ಮೊದಲು ಪೂರ್ವಾವಲೋಕಿಸಿ.
    • AWS EventBridge Scheduler. EventBridge cron ಅಭಿವ್ಯಕ್ತಿಗಳು ವರ್ಷಕ್ಕೆ ಆರನೇ ಕ್ಷೇತ್ರ ತೆಗೆದು ತಿಂಗಳ ದಿನ ಅಥವಾ ವಾರದ ದಿನ ಕ್ಷೇತ್ರದಲ್ಲಿ `*` ಬದಲಿಗೆ `?` ಬೇಕಾಗುತ್ತದೆ — `cron(0 9 ? * MON-FRI *)` ಕ್ಲಾಸಿಕ್ ವಾರದ ದಿನ 9 AM ಮಾನಕ cron ನ EventBridge ಅನುವಾದ. CloudFormation ಡಿಪ್ಲಾಯ್‌ಗಳಲ್ಲಿ `ValidationException` ದೋಷಗಳ ಮೊದಲ ಮೂಲ.

    ನಿಜವಾದ cron ಅಭಿವ್ಯಕ್ತಿ ಹೇಗೆ ಕಾಣುತ್ತದೆ?

    0 9 * * 1-5 ತೆಗೆಯಿರಿ — ಪ್ರತಿ ವಾರದ ದಿನ ಬೆಳಿಗ್ಗೆ 9:00 ಗೆ ಚಲಾಯಿಸುತ್ತದೆ. ಕ್ಷೇತ್ರಗಳನ್ನು ಎಡದಿಂದ ಬಲಕ್ಕೆ ಓದಿ: 0 ಗಂಟೆಯ ಶೂನ್ಯನೇ ನಿಮಿಷ, 9 24-ಗಂಟೆ ಗಡಿಯಾರದ ಮೇಲೆ ಬೆಳಿಗ್ಗೆ 9, * ತಿಂಗಳ ದಿನ ಎಂದರೆ ಪ್ರತಿ ಕ್ಯಾಲೆಂಡರ್ ದಿನ, * ತಿಂಗಳು ಎಂದರೆ ಪ್ರತಿ ತಿಂಗಳು, ಮತ್ತು 1-5 ವಾರದ ದಿನ ಸೋಮವಾರದಿಂದ ಶುಕ್ರವಾರಕ್ಕೆ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ. ಅದನ್ನು ಮೇಲಿನ ಇನ್‌ಪುಟ್‌ಗೆ ಅಂಟಿಸಿ ಮತ್ತು ಪಾರ್ಸರ್ 09:00 AM ಗೆ, ಸೋಮವಾರದಿಂದ ಶುಕ್ರವಾರ ದೃಢೀಕರಿಸುತ್ತದೆ.

    Cron ಅಭಿವ್ಯಕ್ತಿಗಳು ನಿಖರವಾಗಿ ಒಂದು ರೀತಿಯಲ್ಲಿ ಕ್ಷಮಿಸದ: ಒಂದು ಟೈಪೋ ಸಿಂಟ್ಯಾಕ್ಟಿಕ್ ಆಗಿ ಮಾನ್ಯ ಶೆಡ್ಯೂಲ್ ನೀಡುತ್ತದೆ ತಪ್ಪು ಸಮಯದಲ್ಲಿ ಚಲಾಯಿಸುವ, ಕೋಡ್ ರಿವ್ಯೂನಲ್ಲಿ ಹಿಡಿಯಲು ಯಾವ ದೋಷ ಇಲ್ಲ. ಮೇಲಿನ ಪಾರ್ಸರ್ ಆ ಅಭ್ಯಾಸ ಒಂದು ಹತ್ತು-ಸೆಕೆಂಡ್ ಸ್ವಚ್ಛತಾ-ಪರಿಶೀಲನೆ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ — ಅಭಿವ್ಯಕ್ತಿ ಅಂಟಿಸಿ, ಆಂಗ್ಲ ಓದಿ, IST ನಲ್ಲಿ ಮುಂದಿನ ಹತ್ತು ಚಲಾವಣೆ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ, ಮತ್ತು cron ಸಾಲು ಕಮಿಟ್ ಸಂದೇಶ ಹೇಳುವಂತೆ ನಿಜವಾಗಿ ಮಾಡುತ್ತದೆ ಎಂದು ತಿಳಿದು YAML ಶಿಪ್ ಮಾಡಿ.

    5-ಕ್ಷೇತ್ರ ಮತ್ತು 6-ಕ್ಷೇತ್ರ cron ನ ನಡುವೆ ವ್ಯತ್ಯಾಸ ಏನು?

    ಐದು-ಕ್ಷೇತ್ರ cron ಒಂದು-ನಿಮಿಷ ರೆಸಲ್ಯೂಶನ್‌ನೊಂದಿಗೆ ಕ್ಲಾಸಿಕ್ Unix ಗ್ರಾಮರ್. ಆರು-ಕ್ಷೇತ್ರ cron ಉಪ-ನಿಮಿಷ ಶೆಡ್ಯೂಲಿಂಗ್‌ಗಾಗಿ ಮುಂದಾಳತ್ವ ಸೆಕೆಂಡ್ ಕಾಲಮ್ ಸೇರಿಸುತ್ತದೆ — Quartz ಮತ್ತು Spring ನ @Scheduled ಬಳಸುತ್ತವೆ. AWS EventBridge ಕೂಡ ಆರು ಕ್ಷೇತ್ರ ಬಳಸುತ್ತದೆ, ಆದರೆ ಅದರ ಹೆಚ್ಚುವರಿ ಕಾಲಮ್ ಸೆಕೆಂಡ್ ಅಲ್ಲ, ವರ್ಷ.

    @hourly, @daily ಮತ್ತು @weekly ಎಂದರೆ ಏನು?

    1987 ರಲ್ಲಿ ಪರಿಚಯಿಸಿದ Vixie-cron ಅಡ್ಡಹೆಸರುಗಳು. @hourly = 0 * * * *, @daily = 0 0 * * *, @weekly = 0 0 * * 0, @monthly = 0 0 1 * *, @yearly = 0 0 1 1 *. @reboot ಬೂಟ್‌ನಲ್ಲಿ ಒಮ್ಮೆ ಚಲಾಯಿಸುತ್ತದೆ. GitHub Actions ಮತ್ತು EventBridge ಈ ಅಡ್ಡಹೆಸರುಗಳನ್ನು ತಿರಸ್ಕರಿಸುತ್ತವೆ.

    Cron ನಲ್ಲಿ ಭಾನುವಾರ 0 ಅಥವಾ 7?

    ಕ್ಲಾಸಿಕ್ Vixie cron ನಲ್ಲಿ ಎರಡೂ — 0 ಮತ್ತು 7 ಸ್ವೀಕಾರಾರ್ಹ. ಸೋಮವಾರ ಯಾವಾಗಲೂ 1, ಶನಿವಾರ ಯಾವಾಗಲೂ 6. Quartz ಮತ್ತು AWS EventBridge ಭಿನ್ನ ಸಂಪ್ರದಾಯ ಬಳಸುತ್ತವೆ: ಭಾನುವಾರ 1 ನೊಂದಿಗೆ 1-7. ಊಹಿಸುವ ಮೊದಲು ಪ್ಲ್ಯಾಟ್‌ಫಾರ್ಮ್ ಡಾಕ್ಸ್ ಪರಿಶೀಲಿಸಿ.

    Cron ಹಗಲು ಉಳಿಸುವ ಸಮಯ ಹೇಗೆ ನಿಭಾಯಿಸುತ್ತದೆ?

    ಎಂಜಿನ್‌ನ ಟೈಮ್‌ಜೋನ್ ಮೇಲೆ ಅವಲಂಬಿಸಿದೆ. UTC ನಲ್ಲಿ (EventBridge, Kubernetes ಮತ್ತು GitHub Actions ನ ಡೀಫಾಲ್ಟ್) DST ಇರುವುದಿಲ್ಲ. ಸ್ಥಳೀಯ DST ಜೋನ್‌ನಲ್ಲಿ, ಕ್ಲಾಸಿಕ್ Vixie cron ಸ್ಪ್ರಿಂಗ್-ಫಾರ್ವರ್ಡ್ ಗ್ಯಾಪ್ ಸಮಯದಲ್ಲಿ ಕೆಲಸ ಬಿಟ್ಟುಹೋಗಿ ಫಾಲ್-ಬ್ಯಾಕ್ ಸಮಯ ಎರಡು ಬಾರಿ ಚಲಾಯಿಸುತ್ತದೆ.