ਜਾਣ ਪਛਾਣ
ਲੀਨਕਸ ਵਿੱਚ ਇੱਕ ਡੈਮਨ ਹੈ ਜਿਸ ਨੂੰ ਕਓਨ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਜਿਸਦਾ ਨਿਯਮਿਤ ਅੰਤਰਾਲ ਤੇ ਪ੍ਰਕਿਰਿਆ ਚਲਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ.
ਇਸ ਤਰ੍ਹਾਂ ਕਰਨ ਦੇ ਤਰੀਕੇ ਸਕ੍ਰਿਪਟ ਚਲਾਉਣ ਲਈ ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੇ ਕੁਝ ਫੋਲਡਰਾਂ ਨੂੰ ਜਾਂਚਣਾ ਹੈ. ਉਦਾਹਰਣ ਵਜੋਂ /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly ਅਤੇ /etc/cron.monthly ਕਹਿੰਦੇ ਹਨ ਇੱਕ ਫੋਲਡਰ ਹੁੰਦਾ ਹੈ ਇੱਕ ਫਾਇਲ / etc / crontab ਨਾਮ ਵੀ ਹੈ.
ਮੂਲ ਰੂਪ ਵਿੱਚ ਤੁਸੀਂ ਨਿਯਮਤ ਅੰਤਰਾਲ ਚਲਾਉਣ ਲਈ ਉਹਨਾਂ ਨੂੰ ਲਿਖੇ ਲਿਪੀਆਂ ਨੂੰ ਸਬੰਧਤ ਫੋਲਡਰਾਂ ਵਿੱਚ ਰੱਖ ਸਕਦੇ ਹੋ.
ਉਦਾਹਰਨ ਲਈ ਇੱਕ ਟਰਮੀਨਲ ਵਿੰਡੋ ਖੋਲ੍ਹੋ (CTRL, ALT ਅਤੇ T ਦਬਾ ਕੇ) ਅਤੇ ਹੇਠ ਦਿੱਤੀ ls ਕਮਾਂਡ ਚਲਾਓ:
ls / etc / cron *
ਤੁਸੀਂ ਪ੍ਰੋਗਰਾਮਾਂ ਜਾਂ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਸੂਚੀ ਵੇਖੋਗੇ ਜੋ ਹਰ ਘੰਟੇ, ਰੋਜ਼ਾਨਾ, ਹਫ਼ਤੇਵਾਰ ਅਤੇ ਮਹੀਨਾਵਾਰ ਚਲਦੇ ਹਨ.
ਇਹਨਾਂ ਫੋਲਡਰਾਂ ਨਾਲ ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਉਹ ਥੋੜ੍ਹਾ ਅਸਪਸ਼ਟ ਹਨ. ਉਦਾਹਰਨ ਲਈ ਰੋਜ਼ਾਨਾ ਦਾ ਅਰਥ ਇਹ ਹੈ ਕਿ ਸਕ੍ਰਿਪਟ ਇਕ ਦਿਨ ਇਕ ਦਿਨ ਚੱਲੇਗੀ ਪਰ ਉਸ ਸਮੇਂ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਨਿਯੰਤਰਣ ਨਹੀਂ ਹੋਵੇਗਾ ਕਿ ਉਸ ਦਿਨ ਸਕ੍ਰਿਪਟ ਚੱਲੇਗੀ.
ਇਹੀ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ crontab ਫਾਇਲ ਆਉਂਦੀ ਹੈ.
ਕ੍ਰੋਂਟਾਬ ਫਾਈਲ ਸੰਪਾਦਿਤ ਕਰਕੇ ਤੁਸੀਂ ਉਸ ਸਕ੍ਰਿਪਟ ਜਾਂ ਪ੍ਰੋਗ੍ਰਾਮ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਤੁਸੀਂ ਉਸ ਦੀ ਮਿਤੀ ਅਤੇ ਸਮੇਂ ਤੇ ਚਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ. ਉਦਾਹਰਣ ਵਜੋਂ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਹਰ ਰਾਤ 6 ਵਜੇ ਆਪਣੀਆਂ ਫਾਈਲਾਂ ਦਾ ਬੈਕਅੱਪ ਕਰਨਾ ਚਾਹੋ.
ਅਧਿਕਾਰ
Crontab ਕਮਾਂਡ ਲਈ ਇਹ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਇੱਕ ਉਪਭੋਗਤਾ ਨੂੰ ਕ੍ਰੌਂਟਬੈਬ ਫਾਈਲ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰਨ ਦੀ ਅਨੁਮਤੀ ਹੈ. ਅਸਲ ਵਿੱਚ ਦੋ ਫਾਈਲਾਂ ਹਨ ਜੋ crontab ਅਨੁਮਤੀਆਂ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ:
- /etc/cron.allow
- /etc/cron.deny
ਜੇ ਫਾਇਲ /etc/cron.allow ਮੌਜੂਦ ਹੈ ਤਾਂ ਕਰੰਟੈਬ ਫਾਇਲ ਨੂੰ ਸੋਧਣ ਦੀ ਇੱਛਾ ਵਾਲੇ ਯੂਜ਼ਰ ਉਸ ਫਾਇਲ ਵਿੱਚ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ. ਜੇ cron.allow ਫਾਇਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ ਪਰ ਇੱਕ /etc/cron.deny ਫਾਇਲ ਹੈ ਤਾਂ ਯੂਜ਼ਰ ਨੂੰ ਉਸ ਫਾਇਲ ਵਿੱਚ ਮੌਜੂਦ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ.
ਜੇ ਦੋਵੇਂ ਫਾਇਲਾਂ ਮੌਜੂਦ ਹੋਣ ਤਾਂ /etc/cron.allow /etc/cron.deny ਫਾਇਲ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਦਾ ਹੈ.
ਜੇ ਕੋਈ ਫਾਇਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ ਤਾਂ ਇਹ ਸਿਸਟਮ ਸੰਰਚਨਾ ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਉਪਭੋਗਤਾ ਕ੍ਰੋਂਟਬ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰ ਸਕਦਾ ਹੈ.
ਰੂਟ ਯੂਜ਼ਰ ਹਮੇਸ਼ਾ ਕ੍ਰੋਪਟਬ ਫਾਈਲ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰ ਸਕਦਾ ਹੈ. ਤੁਸੀਂ ਜਾਂ ਤਾਂ ਸੁ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਤਾਂ ਕਿ ਕਰੰਟ-ਕਮਾਂਡ ਕਮਾਂਡ ਚਲਾਉਣ ਲਈ ਤੁਸੀਂ ਰੂਟ ਯੂਜ਼ਰ ਜਾਂ sudo ਕਮਾਂਡ ਬਦਲ ਸਕਦੇ ਹੋ.
ਕ੍ਰੌਂਟਾਬ ਫਾਈਲ ਸੰਪਾਦਿਤ ਕਰਨਾ
ਹਰੇਕ ਉਪਭੋਗਤਾ ਜਿਨ੍ਹਾਂ ਕੋਲ ਅਧਿਕਾਰ ਹਨ ਉਨ੍ਹਾਂ ਦੀ ਆਪਣੀ ਖੁਦ ਦੀ ਕ੍ਰੋਪਟਬ ਫਾਈਲ ਬਣਾ ਸਕਦੀ ਹੈ. Cron ਕਮਾਂਡ ਮੂਲ ਰੂਪ ਵਿੱਚ ਕਈ ਕ੍ਰੋਟਾਬ ਫਾਈਲਾਂ ਦੀ ਮੌਜੂਦਗੀ ਨੂੰ ਵੇਖਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਸਾਰੇ ਦੁਆਰਾ ਚੱਲਦਾ ਹੈ.
ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ crontab ਫਾਇਲ ਹੈ, ਹੇਠਲੀ ਕਮਾਂਡ ਚਲਾਓ:
crontab -l
ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਕੋਂਟਾਂਬ ਫਾਇਲ ਨਹੀਂ ਹੈ ਤਾਂ ਸੁਨੇਹਾ "ਕੋਈ ਤੁਹਾਡਾ ਨਾਂ" ਨਹੀਂ ਦਿਖਾਇਆ ਜਾਵੇਗਾ ਤੁਹਾਡੀ ਕ੍ਰੋਂਟਾਬ ਫਾਇਲ ਵੇਖਾਈ ਜਾਵੇਗੀ (ਇਹ ਸਹੂਲਤ ਸਿਸਟਮ ਤੋਂ ਵੱਖਰੀ ਹੈ, ਕਈ ਵਾਰ ਇਹ ਕੁਝ ਵੀ ਨਹੀਂ ਵਿਖਾਉਂਦੀ ਹੈ ਅਤੇ ਦੂਜੀ ਵਾਰ ਇਹ ਦਰਸਾਉਂਦੀ ਹੈ, " ਇਸ ਫਾਇਲ ਨੂੰ ਨਾ ਸੋਧੋ ").
ਇੱਕ crontab ਫਾਇਲ ਨੂੰ ਬਣਾਉਣ ਜਾਂ ਸੋਧਣ ਲਈ ਹੇਠਲੀ ਕਮਾਂਡ ਚਲਾਓ:
crontab -e
ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ ਜੇਕਰ ਕੋਈ ਡਿਫਾਲਟ ਸੰਪਾਦਕ ਚੁਣਿਆ ਨਹੀਂ ਤਾਂ ਤੁਹਾਨੂੰ ਵਰਤਣ ਲਈ ਇੱਕ ਮੂਲ ਐਡੀਟਰ ਚੁਣਨ ਲਈ ਕਿਹਾ ਜਾਵੇਗਾ. ਵਿਅਕਤੀਗਤ ਤੌਰ 'ਤੇ ਮੈਂ ਨੈਨੋ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਪਸੰਦ ਕਰਦਾ ਹਾਂ ਕਿਉਂਕਿ ਇਹ ਵਰਤਣ ਲਈ ਬਿਲਕੁਲ ਸਿੱਧਾ ਹੈ ਅਤੇ ਇਹ ਟਰਮੀਨਲ ਤੋਂ ਚਲਦਾ ਹੈ.
ਖੁੱਲ੍ਹਣ ਵਾਲੀ ਫਾਈਲ ਵਿੱਚ ਕਾਫੀ ਸਾਰੀ ਜਾਣਕਾਰੀ ਹੈ ਪਰ ਮੁੱਖ ਹਿੱਸਾ ਟਿੱਪਣੀ ਦੇ ਅਖੀਰ ਤੋਂ ਪਹਿਲਾਂ ਦਾ ਉਦਾਹਰਨ ਹੈ (ਟਿੱਪਣੀਆਂ # ਤੋਂ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੀਆਂ ਸਤਰਾਂ ਦੁਆਰਾ ਦਿੱਤੀਆਂ ਗਈਆਂ ਹਨ)
# mh ਡੋਮ ਮੋਨ ਡਾਓ ਕਮਾਡ
0 5 * * 1 ਟੈਆਰ- zcf /var/backups/home.tgz / home /
ਕ੍ਰੌਂਟੇਬ ਫਾਈਲ ਦੇ ਹਰੇਕ ਲਾਈਨ ਤੇ ਫਿੱਟ ਕਰਨ ਲਈ 6 ਟੁਕੜਿਆਂ ਦੀ ਜਾਣਕਾਰੀ ਹੈ:
- ਹੁਕਮ ਦਾ ਦਿਨ (ਮਿੰਟ)
- ਹੁਕਮ ਦੀ ਦਿਸ਼ਾ (ਦਿਨ ਦਾ ਸਮਾਂ)
- ਹੁਕਮ ਦੇ ਮਹੀਨੇ (ਮਹੀਨੇ) ਦਾ ਦਿਨ (ਡੋਮ)
- ਆਦੇਸ਼ ਮਹੀਨਾ (ਮੂਨ) ਚਲਾਉਣਾ ਹੈ
- ਹਫਤੇ ਦਾ ਦਿਨ ਹੁਕਮ ਚਲਾਉਣਾ ਹੈ (ਡੋ)
- ਕਮਾਂਡ
ਹਰੇਕ ਇਕਾਈ ਲਈ (ਕਮਾਂਡ ਨੂੰ ਛੱਡ ਕੇ) ਤੁਸੀਂ ਇੱਕ ਵਾਈਲਡਕਾਰਡ ਅੱਖਰ ਨਿਸ਼ਚਿਤ ਕਰ ਸਕਦੇ ਹੋ ਹੇਠਾਂ ਦਿੱਤੀ ਉਦਾਹਰਨ ਨੂੰ ਕ੍ਰੌਂਟਬ ਲਾਈਨ ਦੇਖੋ:
30 18 * * * ਟਾਰ- zcf /var/backups/home.tgz / home /
ਉਪਰੋਕਤ ਕਮਾਡ ਕੀ ਕਹਿ ਰਿਹਾ ਹੈ 30 ਮਿੰਟ, 18 ਘੰਟੇ ਅਤੇ ਹਫ਼ਤੇ ਦਾ ਕੋਈ ਦਿਨ, ਮਹੀਨਾ ਅਤੇ ਦਿਨ ਜ਼ਿਪ ਅਤੇ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਨੂੰ / var / backups ਫੋਲਡਰ ਨੂੰ ਟਾਰਗਿਟ ਕਰਨ ਲਈ ਕਮਾਂਡ ਚਲਾਉ.
ਹਰੇਕ ਘੰਟਾ ਤੋਂ 30 ਮਿੰਟ ਬਾਅਦ ਚਲਾਉਣ ਲਈ ਕਮਾਂਡ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਮੈਂ ਹੇਠ ਲਿਖੀ ਕਮਾਂਡ ਚਲਾ ਸਕਦਾ ਹਾਂ:
30 * * * * ਕਮਾਂਡ
ਪਿਛਲੇ 6 ਵਜੇ ਹਰ ਮਿੰਟ ਲਈ ਚਲਾਉਣ ਲਈ ਕਮਾਂਡ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਮੈਂ ਹੇਠ ਲਿਖੀ ਕਮਾਂਡ ਚਲਾ ਸਕਦਾ ਹਾਂ:
* 18 * * * ਕਮਾਂਡ
ਇਸ ਲਈ ਤੁਹਾਨੂੰ ਆਪਣੇ ਕਰੋਨਟੈਬ ਕਮਾਂਡਾਂ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਬਾਰੇ ਸਾਵਧਾਨ ਹੋਣਾ ਪੈਂਦਾ ਹੈ.
ਉਦਾਹਰਣ ਦੇ ਲਈ:
* * * 1 * ਕਮਾਂਡ
ਉਪਰੋਕਤ ਹੁਕਮ ਹਰ ਹਫ਼ਤੇ ਦੇ ਹਰੇਕ ਹਫਤੇ ਦੇ ਹਰ ਮਿੰਟ ਜਨਵਰੀ ਵਿੱਚ ਚਲਦੇ ਹਨ. ਮੈਨੂੰ ਸ਼ੱਕ ਹੈ ਕਿ ਤੁਸੀਂ ਉਹੀ ਚਾਹੁੰਦੇ ਹੋ
1 ਜਨਵਰੀ ਨੂੰ ਸਵੇਰੇ 5 ਵਜੇ ਇਕ ਕਮਾਂਡ ਚਲਾਉਣ ਲਈ, ਤੁਸੀਂ ਕ੍ਰੌਟਬੈਬ ਫਾਇਲ ਨੂੰ ਹੇਠ ਲਿਖੀ ਕਮਾਂਡ ਤੇ ਭੇਜੋਗੇ:
0 5 1 1 * ਕਮਾਂਡ
ਇੱਕ Crontab ਫਾਇਲ ਨੂੰ ਕਿਵੇਂ ਹਟਾਓ
ਜ਼ਿਆਦਾਤਰ ਸਮਾਂ ਤੁਸੀਂ ਕ੍ਰੌਂਟਬੈਕ ਫਾਇਲ ਨੂੰ ਹਟਾਉਣਾ ਨਹੀਂ ਚਾਹੋਗੇ ਪਰ ਤੁਸੀਂ ਕ੍ਰੌਂਟਾਬ ਫਾਈਲ ਤੋਂ ਕੁਝ ਕਤਾਰਾਂ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹ ਸਕਦੇ ਹੋ.
ਹਾਲਾਂਕਿ ਜੇ ਤੁਸੀਂ ਆਪਣੇ ਉਪਭੋਗਤਾ ਦੀ ਕਰੋਸਟਬਬ ਫਾਇਲ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਹੇਠ ਲਿਖੀ ਕਮਾਂਡ ਚਲਾਉ:
crontab -r
ਅਜਿਹਾ ਕਰਨ ਦਾ ਇੱਕ ਸੁਰੱਖਿਅਤ ਢੰਗ ਹੈ ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਚਲਾਉਣ ਲਈ:
crontab -i
ਇਹ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ "ਕੀ ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ?" ਕ੍ਰੋਂਟਬਬ ਫਾਇਲ ਨੂੰ ਹਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ