Cron ਸਮੀਕਰਨ ਕੀ ਹੈ?
ਇੱਕ cron ਸਮੀਕਰਨ ਇੱਕ ਸੰਖੇਪ ਸ਼ਡਿਊਲਿੰਗ ਸਤਰ ਹੈ ਜੋ ਇੱਕ ਜੌਬ ਸ਼ਡਿਊਲਰ ਨੂੰ ਬਿਲਕੁਲ ਦੱਸਦੀ ਹੈ ਕਿ ਕੋਈ ਕੰਮ ਕਦੋਂ ਚਲਾਉਣਾ ਹੈ। ਇਹ ਫਾਰਮੈਟ 1975 ਵਿੱਚ Unix V7 cron ਡੀਮਨ ਦੇ ਅੰਦਰ ਜਨਮਿਆ ਅਤੇ ਉਦੋਂ ਤੋਂ ਮੁਸ਼ਕਿਲ ਨਾਲ ਬਦਲਿਆ ਹੈ — ਉਹੀ ਪੰਜ-ਫੀਲਡ ਗ੍ਰਾਮਰ ਅੱਜ Kubernetes CronJobs, AWS EventBridge, GitHub Actions ਵਰਕਫਲੋ, Google Cloud Scheduler, GitLab CI, Jenkins ਪਾਈਪਲਾਈਨਾਂ, ਅਤੇ ਹਰ Linux ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਨਾਲ ਅਜੇ ਵੀ ਭੇਜੇ ਜਾਂਦੇ crontab ਬਾਈਨਰੀ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇਹ ਗ੍ਰਾਮਰ ਤੇਰ੍ਹਾਂ ਕੁ ਅੱਖਰਾਂ ਵਿੱਚ ਬਹੁਤ ਸਾਰਾ ਅਰਥ ਭਰ ਦਿੰਦੀ ਹੈ, ਜਿਸੇ ਕਰਕੇ ਇੱਕ ਪਾਰਸਰ ਜੋ ਇਸਨੂੰ ਸਾਦੀ ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ ਬਦਲਦਾ ਹੈ ਇੱਕ ਭਰੋਸੇਮੰਦ ਡਿਪਲੌਏ ਅਤੇ ਇੱਕ 3 AM ਰੋਲਬੈਕ ਵਿਚਕਾਰ ਦਾ ਫ਼ਰਕ ਹੈ।
Cron ਸਮੀਕਰਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?
ਇੱਕ ਮਿਆਰੀ cron ਸਮੀਕਰਨ ਵਿੱਚ ਪੰਜ ਸਪੇਸ-ਵੱਖਰੇ ਫੀਲਡ ਹਨ ਜੋ ਮਿਲ ਕੇ ਇੱਕ ਦੁਹਰਾਉਣ ਵਾਲਾ ਸ਼ਡਿਊਲ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਨ। ਇੰਜਣ ਹਰ ਮਿੰਟ ਮੌਜੂਦਾ ਘੜੀ ਨੂੰ ਸਮੀਕਰਨ ਨਾਲ ਜਾਂਚਦਾ ਹੈ ਅਤੇ ਜਦੋਂ ਸਾਰੇ ਪੰਜ ਫੀਲਡ ਮੇਲ ਖਾਂਦੇ ਹਨ ਕੰਮ ਚਲਾਉਂਦਾ ਹੈ। ਫੀਲਡ, ਖੱਬੇ ਤੋਂ ਸੱਜੇ:
- ਮਿੰਟ (0–59)। ਘੰਟੇ ਵਿੱਚ ਕਿਹੜੇ ਮਿੰਟ 'ਤੇ ਕੰਮ ਚੱਲਦਾ ਹੈ।
0ਮਤਲਬ ਘੰਟੇ ਦੀ ਸ਼ੁਰੂਆਤ,30ਮਤਲਬ ਅੱਧਾ ਘੰਟਾ,*/5ਮਤਲਬ ਹਰ ਪੰਜ ਮਿੰਟ, ਅਤੇ15,45ਮਤਲਬ ਘੰਟੇ ਦੀ ਪਾਣਾ ਅਤੇ ਤਿਮਾਹੀ 'ਤੇ। - ਘੰਟਾ (0–23)। 24-ਘੰਟੇ ਘੜੀ 'ਤੇ ਦਿਨ ਦਾ ਕਿਹੜਾ ਘੰਟਾ।
0ਅੱਧੀ ਰਾਤ ਹੈ,99 AM ਹੈ,175 PM ਹੈ। ਰੇਂਜਾਂ (ਕਾਰੋਬਾਰੀ ਘੰਟਿਆਂ ਲਈ9-17) ਅਤੇ ਸਟੈਪ ਮੁੱਲ (ਹਰ ਦੂਜੇ ਘੰਟੇ ਲਈ*/2) ਮਿੰਟਾਂ ਵਾਂਗੂ ਹੀ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ। - ਮਹੀਨੇ ਦਾ ਦਿਨ (1–31)। ਕਿਹੜੇ ਕੈਲੰਡਰ ਦਿਨ ਚਲਾਉਣਾ ਹੈ।
1ਮਹੀਨੇ ਦੀ 1 ਤਾਰੀਖ਼ ਮਤਲਬ,*ਹਰ ਦਿਨ,1,151 ਅਤੇ 15 ਤਾਰੀਖ਼ ਮਤਲਬ।31ਨਾਲ ਸਾਵਧਾਨ ਰਹੋ — ਇਹ ਚੁੱਪਚਾਪ ਉਹਨਾਂ ਮਹੀਨਿਆਂ ਵਿੱਚ ਛੱਡ ਦਿੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਵਿੱਚ 31ਵਾਂ ਦਿਨ ਨਹੀਂ ਹੈ। - ਮਹੀਨਾ (1–12 ਜਾਂ JAN–DEC)। ਕਿਹੜੇ ਮਹੀਨੇ ਚਲਾਉਣਾ ਹੈ।
*ਹਰ ਮਹੀਨਾ,1,7ਜਨਵਰੀ ਅਤੇ ਜੁਲਾਈ,1-3ਕੇਵਲ Q1 ਮਤਲਬ। ਤਿੰਨ-ਅੱਖਰ ਮਹੀਨੇ ਦੇ ਨਾਮ ਜ਼ਿਆਦਾਤਰ ਲਾਗੂਕਰਨਾਂ ਵਿੱਚ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਹਨ। - ਹਫ਼ਤੇ ਦਾ ਦਿਨ (0–7, ਜਿੱਥੇ 0 ਅਤੇ 7 ਦੋਵੇਂ ਐਤਵਾਰ ਮਤਲਬ)। ਖਾਸ ਹਫ਼ਤੇ ਦੇ ਦਿਨਾਂ ਤੱਕ ਫਾਇਰਿੰਗ ਸੀਮਿਤ ਕਰਦਾ ਹੈ।
1-5ਸੋਮਵਾਰ ਤੋਂ ਸ਼ੁੱਕਰਵਾਰ,0,6ਵੀਕਐਂਡ,MON-FRIਜ਼ਿਆਦਾਤਰ ਪਾਰਸਰਾਂ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ।
Cron ਸਮੀਕਰਨ ਪਾਰਸਰ ਕਿਉਂ ਵਰਤੋ?
- ਡਿਪਲੋਇ ਤੋਂ ਪਹਿਲਾਂ ਚੁੱਪ ਗਲਤ-ਪੜ੍ਹਾਈ ਫੜੋ। ਸਮੀਕਰਨ `0 2 */3 * *` ਹਰ ਤਿੰਨ ਮਿੰਟ ਨਹੀਂ, ਹਰ ਤੀਜੇ ਦਿਨ 2 AM 'ਤੇ ਚੱਲਦਾ ਹੈ — ਇਹ ਇੱਥੇ ਪੇਸਟ ਕਰੋ ਅਤੇ ਉਤਪਾਦਨ ਵਿੱਚ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਸੀਂ ਇਹ ਸਾਦੀ ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ ਦੇਖੋਗੇ।
- ਜ਼ਿਆਦਾਤਰ ਕਲਾਊਡ ਸ਼ਡਿਊਲਰ ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ UTC ਵਿੱਚ ਚੱਲਦੇ ਹਨ। ਆਪਣੇ ਸਥਾਨਕ ਜ਼ੋਨ ਵਿੱਚ ਅਗਲੇ ਦਸ ਫਾਇਰ ਟਾਈਮ ਦਾ ਪੂਰਵਦਰਸ਼ਨ DST ਡ੍ਰਿਫਟ ਦਿਖਾਉਂਦਾ ਹੈ।
- `@daily`, `@weekly` ਅਤੇ `@monthly` ਵਰਗੇ ਸ਼ਾਰਟਕੱਟ ਸੁਵਿਧਾਜਨਕ ਪਰ ਅਸਪਸ਼ਟ ਹਨ। ਪਾਰਸਰ ਤੁਹਾਨੂੰ ਅੰਦਰਲਾ ਪੰਜ-ਫੀਲਡ ਫਾਰਮ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਫੀਲਡ-ਦਰ-ਫੀਲਡ ਬਿਲਡਰ ਤੁਹਾਨੂੰ ਇੱਕ ਵੇਲੇ ਇੱਕ ਕਾਲਮ ਨਾਲ ਇੱਕ ਸ਼ਡਿਊਲ ਰਚਣ ਅਤੇ ਮਨੁੱਖੀ ਵੇਰਵੇ ਨੂੰ ਲਾਈਵ ਅੱਪਡੇਟ ਹੁੰਦਾ ਦੇਖਣ ਦਿੰਦਾ ਹੈ, ਜੋ cron man ਪੇਜ ਨੂੰ ਦਸਵੀਂ ਵਾਰ ਮੁੜ-ਪੜ੍ਹਨ ਨਾਲੋਂ ਬਹੁਤ ਤੇਜ਼ ਹੈ।
Cron ਸਮੀਕਰਨ ਕਿੱਥੇ ਵਰਤੇ ਜਾਂਦੇ ਹਨ?
Cron ਸੰਟੈਕਸ ਉੱਥੇ ਕਿਤੇ ਵੀ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਜਿੱਥੇ ਕਿਸੇ ਕੰਮ ਨੂੰ ਘੜੀ 'ਤੇ ਦੁਹਰਾਉਣਾ ਹੈ। ਤਿੰਨ ਸਭ ਤੋਂ ਆਮ ਸਤਹਾਂ:
- ਬੈਕਅੱਪ ਸ਼ਡਿਊਲ। ਕਲਾਸਿਕ `crontab -e` ਐਂਟਰੀ ਜੋ ਰਾਤ 2 AM 'ਤੇ ਡੇਟਾਬੇਸ S3 'ਤੇ ਡੰਪ ਕਰਦੀ ਹੈ, ਜਾਂ ਹਰ ਮਹੀਨੇ ਦੀ 1 ਤਾਰੀਖ਼ 'ਤੇ `pg_dump` ਆਰਕਾਈਵ ਘੁਮਾਉਂਦੀ ਹੈ। `0 2 * * * /usr/local/bin/backup.sh` ਵਰਗੀ ਲਾਈਨ ਮੈਨੂਅਲ ਚੈੱਕਲਿਸਟ ਨੂੰ ਫਾਇਰ-ਐਂਡ-ਫੋਰਗੈੱਟ ਸਕ੍ਰਿਪਟ ਨਾਲ ਬਦਲ ਦਿੰਦੀ ਹੈ।
- GitHub Actions `schedule` ਟ੍ਰਿੱਗਰ। `.github/workflows/*.yml` ਵਿੱਚ `on.schedule.cron` ਕੁੰਜੀ ਮਿਆਰੀ ਪੰਜ-ਫੀਲਡ cron ਸਵੀਕਾਰ ਕਰਦੀ ਹੈ, ਪਰ ਕੰਮ ਹਮੇਸ਼ਾ UTC ਵਿੱਚ ਚੱਲਦਾ ਹੈ। ਆਮ ਪੈਟਰਨ: 9 AM UTC 'ਤੇ ਸੋਮਵਾਰ-ਤੋਂ-ਸ਼ੁੱਕਰਵਾਰ ਡਾਇਜੈਸਟ ਭੇਜਣ ਲਈ `cron: '0 9 * * 1-5'`।
- AWS EventBridge Scheduler। EventBridge cron ਸਮੀਕਰਨ ਸਾਲ ਲਈ ਇੱਕ ਛੇਵਾਂ ਫੀਲਡ ਲੈਂਦੇ ਹਨ ਅਤੇ day-of-month ਜਾਂ day-of-week ਫੀਲਡ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਵਿੱਚ `*` ਦੀ ਬਜਾਏ `?` ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ — `cron(0 9 ? * MON-FRI *)` ਕਲਾਸਿਕ ਵੀਕਡੇ 9 AM ਮਿਆਰੀ cron ਦਾ EventBridge ਅਨੁਵਾਦ ਹੈ। ਸ਼ਡਿਊਲ ਕੀਤੇ Lambda ਇਨਵੋਕੇਸ਼ਨਾਂ, ECS ਟਾਸਕ ਰਨਾਂ, ਅਤੇ Step Function ਸਟੇਟ-ਮਸ਼ੀਨ ਸ਼ੁਰੂਆਤਾਂ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ; ਕਲਾਸਿਕ cron ਸੰਟੈਕਸ ਨਾਲ ਇਹ ਬੇਮੇਲਤਾ CloudFormation ਡਿਪਲੌਏਜ਼ ਵਿੱਚ `ValidationException` ਗਲਤੀਆਂ ਦਾ ਨੰਬਰ-ਇੱਕ ਸਰੋਤ ਹੈ।
ਅਸਲੀ cron ਸਮੀਕਰਨ ਕਿਹੋ ਜਿਹੀ ਦਿਖਦੀ ਹੈ?
0 9 * * 1-5 ਲਓ — ਹਰ ਵੀਕਡੇ, 9:00 AM 'ਤੇ ਚੱਲਦਾ ਹੈ। ਫੀਲਡਾਂ ਨੂੰ ਖੱਬੇ ਤੋਂ ਸੱਜੇ ਪੜ੍ਹਦੇ ਹੋਏ: 0 ਘੰਟੇ ਦਾ ਜ਼ੀਰੋਵਾਂ ਮਿੰਟ ਹੈ, 9 24-ਘੰਟੇ ਘੜੀ 'ਤੇ 9 AM ਹੈ, day-of-month 'ਤੇ * ਦਾ ਮਤਲਬ ਹਰ ਕੈਲੰਡਰ ਦਿਨ ਹੈ, month 'ਤੇ * ਦਾ ਮਤਲਬ ਹਰ ਮਹੀਨਾ ਹੈ, ਅਤੇ day-of-week 'ਤੇ 1-5 ਫਾਇਰਿੰਗ ਨੂੰ ਸੋਮਵਾਰ ਤੋਂ ਸ਼ੁੱਕਰਵਾਰ ਤੱਕ ਸੀਮਿਤ ਕਰਦਾ ਹੈ (ਜਿੱਥੇ ਮਿਆਰੀ cron ਨੰਬਰਿੰਗ ਵਿੱਚ 1 = ਸੋਮਵਾਰ)। ਇਸਨੂੰ ਉੱਪਰ ਇਨਪੁੱਟ ਵਿੱਚ ਪੇਸਟ ਕਰੋ ਅਤੇ ਪਾਰਸਰ At 09:00 AM, Monday through Friday ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਅਤੇ ਅਗਲੀਆਂ ਦਸ ਫਾਇਰ ਮਿਤੀਆਂ ਜਿਸ ਵੀ IANA ਜ਼ੋਨ ਨੂੰ ਤੁਸੀਂ ਚੁਣਦੇ ਹੋ ਉਸ ਵਿੱਚ ਰੈਂਡਰ ਕਰਦਾ ਹੈ। AWS EventBridge ਸੰਟੈਕਸ ਵਿੱਚ ਉਹੀ ਇਰਾਦਾ cron(0 9 ? * MON-FRI *) ਹੈ — ਅੰਤ ਵਿੱਚ ਸਾਲ ਫੀਲਡ ਅਤੇ ? ਵੱਲ ਧਿਆਨ ਦਿਓ ਜਿੱਥੇ ਮਿਆਰੀ cron * ਵਰਤੇਗਾ। ਇੱਕ Quartz ਸਮੀਕਰਨ (ਅਗਲੇ ਸਕਿੰਟਾਂ ਨਾਲ ਛੇ-ਫੀਲਡ) ਵਜੋਂ ਉਹੀ ਇਰਾਦਾ 0 0 9 ? * MON-FRI ਹੈ। ਤਿੰਨ ਵੱਖਰੇ ਪਲੇਟਫਾਰਮ, ਤਿੰਨ ਵੱਖਰੇ ਸਤਹ ਰੂਪ, ਇੱਕ ਅੰਦਰਲਾ ਸ਼ਡਿਊਲ।
Cron ਸਮੀਕਰਨ ਬਿਲਕੁਲ ਇੱਕ ਤਰੀਕੇ ਨਾਲ ਬੇਰਹਿਮ ਹਨ: ਇੱਕ ਟਾਈਪੋ ਤੁਹਾਨੂੰ ਇੱਕ ਸੰਟੈਕਸ ਪੱਖੋਂ ਵੈਧ ਸ਼ਡਿਊਲ ਦਿੰਦੀ ਹੈ ਜੋ ਗਲਤ ਸਮੇਂ 'ਤੇ ਚੱਲਦਾ ਹੈ, ਕੋਡ ਰਿਵਿਊ ਵਿੱਚ ਫੜਨ ਲਈ ਕੋਈ ਗਲਤੀ ਨਹੀਂ ਹੁੰਦੀ। `0 0 1 * *` ਪੜ੍ਹਨਾ ਅਤੇ ਜਾਣਨਾ ਕਿ ਇਹ ਹਰ ਮਹੀਨੇ ਦੀ 1 ਤਾਰੀਖ਼ ਨੂੰ ਅੱਧੀ ਰਾਤ ਨੂੰ ਚੱਲਦਾ ਹੈ, 1 ਜਨਵਰੀ ਨੂੰ ਨਹੀਂ, ਅਭਿਆਸ ਮੰਗਦਾ ਹੈ। ਉੱਪਰ ਦਿੱਤਾ ਪਾਰਸਰ ਉਸ ਅਭਿਆਸ ਨੂੰ ਇੱਕ ਦਸ-ਸਕਿੰਟ ਦੀ ਸੁਚੇਤਤਾ ਜਾਂਚ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ — ਸਮੀਕਰਨ ਪੇਸਟ ਕਰੋ, ਅੰਗਰੇਜ਼ੀ ਪੜ੍ਹੋ, ਆਪਣੇ ਸਥਾਨਕ ਜ਼ੋਨ ਵਿੱਚ ਅਗਲੇ ਦਸ ਫਾਇਰ ਟਾਈਮ ਸਕੈਨ ਕਰੋ, ਅਤੇ YAML ਨੂੰ ਇਹ ਜਾਣਦੇ ਹੋਏ ਭੇਜੋ ਕਿ cron ਲਾਈਨ ਅਸਲ ਵਿੱਚ ਉਹੀ ਕਰਦੀ ਹੈ ਜੋ ਕਮਿੱਟ ਸੁਨੇਹਾ ਕਹਿੰਦਾ ਹੈ ਕਿ ਇਹ ਕਰਦੀ ਹੈ।
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 ਦੋਵੇਂ ਸਵੀਕਾਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਤਾਂ ਜੋ 5-7 ਵਰਗੀਆਂ ਰੇਂਜਾਂ ਕੁਦਰਤੀ ਤੌਰ 'ਤੇ ਸ਼ੁੱਕਰਵਾਰ-ਤੋਂ-ਐਤਵਾਰ ਪੜ੍ਹੀਆਂ ਜਾਣ। ਸੋਮਵਾਰ ਹਮੇਸ਼ਾ 1 ਹੈ, ਸ਼ਨੀਵਾਰ ਹਮੇਸ਼ਾ 6 ਹੈ। Quartz ਅਤੇ AWS EventBridge ਇੱਕ ਵੱਖਰਾ ਸੰਮੇਲਨ ਵਰਤਦੇ ਹਨ: 1-7 ਜਿਸ ਵਿੱਚ ਐਤਵਾਰ 1 ਵਜੋਂ। ਧਾਰਨਾ ਲਗਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਪਲੇਟਫਾਰਮ ਦਸਤਾਵੇਜ਼ ਜਾਂਚੋ।
Cron ਡੇਲਾਈਟ ਸੇਵਿੰਗ ਟਾਈਮ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦਾ ਹੈ?
ਇੰਜਣ ਦੇ ਟਾਈਮਜ਼ੋਨ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। UTC ਵਿੱਚ (EventBridge, Kubernetes ਅਤੇ GitHub Actions 'ਤੇ ਡਿਫੌਲਟ) DST ਮੌਜੂਦ ਨਹੀਂ। ਸਥਾਨਕ DST ਜ਼ੋਨ ਵਿੱਚ, ਕਲਾਸਿਕ Vixie cron ਸਪਰਿੰਗ-ਫਾਰਵਰਡ ਗੈਪ ਦੌਰਾਨ ਕੰਮ ਛੱਡਦਾ ਹੈ ਅਤੇ ਫਾਲ-ਬੈਕ ਦੌਰਾਨ ਦੋ ਵਾਰ ਚਲਾਉਂਦਾ ਹੈ; systemd ਟਾਈਮਰ ਠੀਕ ਇੱਕ ਵਾਰ ਚੱਲਦੇ ਹਨ।