El crontab és una llista d'ordres que voleu executar de manera regular i també el nom de l'ordre que s'utilitza per gestionar aquesta llista. Crontab significa cron table, perquè utilitza el programador de treballs cron per executar tasques; cron El mateix rep el nom de chronos, la paraula grega que significa temps. cron és el procés del sistema que realitzarà tasques automàticament segons un calendari establert. La programació s'anomena crontab, que també és el nom del programa utilitzat per editar aquesta programació.
Sintaxi de Linux Crontab
El format Linux Crontab està representat per la sintaxi següent:
MIN HOUR DOM MON DOW CMD>
Desglossem cada camp:
| Camp | Descripció | Valor permès |
|---|---|---|
| MIN (minut) | Especifica el minut en què s'executarà l'ordre | Oscil·la entre 0 i 59. |
| HORES | Indica l'hora del dia en què s'ha programat l'execució de l'ordre. | Va de 0 a 23. |
| DOM (dia del mes) | Especifica el dia del mes de la tasca. | Va de l'1 al 31. |
| DUN (mes) | Indica el mes durant el qual s'executarà l'ordre. | Varia d'1 a 12. |
| DOW (dia de la setmana) | Especifica el dia de la setmana de la tasca. | Es representa amb números del 0 al 6, on tant el 0 com el 6 corresponen al diumenge. |
| CMD (comandament) | Representa l'ordre o l'script real que s'executarà a l'hora programada. | —————– |
Exemples de feines de Cron
1. Programació d'una feina per a un temps específic
L'ús bàsic de cron és executar un treball en un temps específic, tal com es mostra a continuació. Això executarà l'script de l'intèrpret de comandaments de còpia de seguretat completa (còpia de seguretat completa) el 10 de juny a les 08:30. El camp d'hora utilitza el format de 24 hores. Per tant, per a les 8 del matí utilitzeu 8 i per a les 20:00 utilitzeu 20.
30 08 10 06 * /home/maverick/full-backup>
30 – 30è minut 08 – 08:00 10 – 10è dia 06 – 6è mes (juny) * – Tots els dies de la setmana
2. Per veure les entrades de Crontab
- Visualització de les entrades de Crontab de l'usuari connectat actual: per veure les entrades de Crontab, escriviu crontab -l des del vostre compte d'Unix.

- Veure les entrades de Root Crontab: inicieu sessió com a usuari root (su – root) i feu crontab -l.

- Per veure les entrades de crontab d'altres usuaris de Linux: inicieu sessió a root i feu servir -u {nom d'usuari} -l.

3. Per editar les entrades de Crontab Editeu les entrades de Crontab de l'usuari connectat actual.
Per editar les entrades d'un crontab, utilitzeu crontab -e. Per defecte, això editarà el crontab dels usuaris connectats actuals. 
4. Per programar una feina per cada minut utilitzant Cron.
L'ideal és que no tingueu cap requisit de programar una feina cada minut. Però entendre aquest exemple us ajudarà a entendre els altres exemples.
* * * * * CMD>
El * significa tota la unitat possible, és a dir, cada minut de cada hora durant tot l'any. Més que utilitzar aquest * directament, el trobareu molt útil en els casos següents. Quan especifiqueu */5 al camp de minuts significa cada 5 minuts. Quan especifiqueu 0-10/2 al camp de minut, significa cada 2 minuts durant els primers 10 minuts. Així, la convenció anterior es pot utilitzar per als altres 4 camps.
5. Per programar una feina més d'una vegada (p. ex., dues vegades al dia)
L'script següent fa una còpia de seguretat incremental dues vegades al dia cada dia. Aquest exemple executa l'script d'intèrpret d'ordres de còpia de seguretat incremental especificat (còpia de seguretat incremental) a les 11:00 i a les 16:00 cada dia. El valor separat per comes en un camp especifica que l'ordre s'ha d'executar en tot el temps esmentat.
00 11, 16 * * * /home/maverick/bin/incremental-backup>
00 – 0th Minut (Top de l'hora) 11, 16 – 11 AM i 4 PM * – Tots els dies * – Cada mes * – Tots els dies de la setmana
6. Per programar una feina per a un interval de temps determinat (p. ex., només els dies laborables)
Si voleu que es programés una feina per a cada hora amb un interval de temps específic, feu servir el següent.
- Cron Job tots els dies durant l'horari laboral: aquest exemple comprova l'estat de la base de dades cada dia (inclosos els caps de setmana) durant l'horari laboral de 9 a.m. a 6 p.m.
00 09-18 * * * /home/maverick/bin/check-db-status>
- 00 – 0è minut (Top de l'hora) 09-18 – 9:00, 10:00, 11:00, 12:00, 13:00, 14:00, 15:00, 16:00, 17:00, 18:00 * – Tots els dies * – Cada mes * – Tots els dies de la setmana
- Cron Job tots els dies laborables durant l'horari laboral: aquest exemple comprova l'estat de la base de dades cada dia laborable (és a dir, excloent el dissabte i el dg) durant l'horari laboral de 9 a.m. a 6 p.m.
00 09-18 * * 1-5 /home/maverick/bin/check-db-status>
- 00 – 0è minut (Top de l'hora) 09-18 – 9:00, 10:00, 11:00, 12:00, 13:00, 14:00, 15:00, 16:00, 17:00, 18:00 * – Tots els dies * – Cada mes 1-5: dilluns, dimarts, dimecres, dijous i divendres (cada dia feiner)
7. Per programar una tasca de Cron en segon pla cada 10 minuts.
Utilitzeu el següent, si voleu comprovar l'espai en disc cada 10 minuts.
fer que l'script sigui executable
*/10 * * * * /home/maverick/check-disk-space>
Executa l'ordre especificada check-disk-space cada 10 minuts durant tot l'any. Però és possible que tingueu el requisit d'executar l'ordre només durant determinades hores o viceversa. Els exemples anteriors mostren com fer aquestes coses. En lloc d'especificar valors als 5 camps, podem especificar-ho amb una sola paraula clau tal com s'esmenta a continuació. Hi ha casos especials en què en lloc dels 5 camps anteriors podeu utilitzar @ seguit d'una paraula clau, com ara reiniciar, mitjanit, anualment, cada hora. Cron paraules clau especials i el seu significat
Keyword Equivalent @yearly 0 0 1 1 * @daily 0 0 * * * @hourly 0 * * * * @reboot Run at startup.>
8. Per programar una feina per al primer minut de cada any mitjançant @yearly
Si voleu que un treball s'executi el primer minut de cada any, podeu utilitzar la paraula clau @yearly cron tal com es mostra a continuació. Això executarà el manteniment anual del sistema mitjançant un script de shell de manteniment anual a les 00:00 de l'1 de gener per cada any.
@yearly /home/maverick/bin/annual-maintenance>
9. Per programar un treball de Cron a principis de cada mes mitjançant @monthly
És tan semblant com l'@anyarly com l'anterior. Però executa l'ordre una vegada al mes utilitzant la paraula clau @monthly cron. Això executarà la còpia de seguretat de la cinta de l'script de l'intèrpret d'ordres a les 00:00 de l'1 de cada mes.
@monthly /home/maverick/bin/tape-backup>
10. Per programar un treball en segon pla cada dia mitjançant @daily
Utilitzant la paraula clau @daily cron, això farà una neteja diària del fitxer de registre mitjançant l'script d'intèrpret d'ordres cleanup-logs a les 00:00 cada dia.
@daily /home/maverick/bin/cleanup-logs 'day started'>
11. Per executar una ordre de Linux després de cada reinici mitjançant @reboot
Utilitzant la paraula clau @reboot cron, això executarà l'ordre especificada una vegada després d'arrencar la màquina cada vegada.
@reboot CMD>


