Pentru ca linux să efectueze automat sarcini pe care altfel ar trebui să le efectuați manual, cum ar fi rularea scripturilor și executarea comenzilor specifice, folosim un instrument numit cron. Pe sistemele Linux, utilitatea cron este modalitatea preferată de a automatiza rularea scripturilor la intervale de timp specifice.
În acest articol, vom aborda modul de vizualizare / listare a lucrărilor programate în lista crontab.
Cu cele mai multe aplicații Cron (de exemplu, Vixie-Cron – Debian / Ubuntu implicit, Cronie – Fedora implicit, Solaris Cron …) veți obține lista de lucrări cron programate pentru utilizatorul curent prin intermediul comenzii:
$ crontab -l
sau pentru un alt utilizator prin rularea comenzii:
$ crontab -u username -l
În mod alternativ, puteți verifica fișierele spool. De obicei, acestea sunt salvate în /var/spool/cron, de ex. pentru vcron, următorul director /var/spool/cron/crontabs conține toate crontab-urile configurate ale tuturor utilizatorilor – cu excepția utilizatorului root, care este, de asemenea, capabil să configureze joburi prin intermediul crontab-ului din întregul sistem, care se află în directorul /etc/crontab.
Pentru a vedea aceste cron-uri vă puteți folosi de comanda „less” astfel:
less /etc/crontab
Exemplu de structură crontab:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
For details see man 4 crontabs
Example of job definition:
.–––––- minute (0 – 59)
| .––––- hour (0 – 23)
| | .–––- day of month (1 – 31)
| | | .––- month (1 – 12) OR jan,feb,mar,apr …
| | | | .–- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * user-name command to be executed
Pe computerul meu arată așa:
/etc/crontab: system-wide crontab
Unlike any other crontab you don’t have to run the `crontab’
command to install the new version when you edit this file
and files în /etc/cron.d. These files also have username fields,
that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
m h dom mon dow user command
17 * * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )
Cu cronie (utilitarul implicit de pe Fedora / CentOS), există un director de configurare în stil cron.d pentru lucrările cron de sistem, de asemenea:
/etc/cron.d
Ca întotdeauna, directorul cron.d simplifică menținerea intrărilor de configurare care fac parte din diferite pachete.
Pentru comoditate, majoritatea distribuțiilor oferă și un director în care scripturile link / stocate sunt executate periodic, de ex .:
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
Cum să afișați joburile Cron pe oră
Pentru a enumera cronjob-urile setate la oră, executați comanda de mai jos:
$ ls -la /etc/cron.hourly/
total 12
drwxr-xr-x 2 root root 4096 Apr 24 20:44 .
drwxr-xr-x 96 root root 4096 May 19 17:12 ..
-rw-r–r– 1 root root 102 Feb 9 2013 .placeholder
Cum să afișați joburile Cron pe zi
Pentru a enumera cronjob-urile setate la zi, executați comanda de mai jos:
$ ls -la /etc/cron.daily/
total 72
drwxr-xr-x 2 root root 4096 Apr 24 20:46 .
drwxr-xr-x 96 root root 4096 May 19 17:12 ..
-rw-r–r– 1 root root 102 Feb 9 2013 .placeholder
-rwxr-xr-x 1 root root 376 Apr 4 2014 apport
-rwxr-xr-x 1 root root 15481 Apr 10 2014 apt
-rwxr-xr-x 1 root root 314 Feb 18 2014 aptitude
-rwxr-xr-x 1 root root 355 Jun 4 2013 bsdmainutils
-rwxr-xr-x 1 root root 256 Mar 7 2014 dpkg
-rwxr-xr-x 1 root root 372 Jan 22 2014 logrotate
-rwxr-xr-x 1 root root 1261 Sep 23 2014 man-db
-rwxr-xr-x 1 root root 435 Jun 20 2013 mlocate
-rwxr-xr-x 1 root root 249 Feb 17 2014 passwd
-rwxr-xr-x 1 root root 2417 May 13 2013 popularity-contest
-rwxr-xr-x 1 root root 214 Mar 27 2017 update-notifier-common
-rwxr-xr-x 1 root root 328 Jul 18 2014 upstart
Cum să afișați joburile Cron pe săptămână
Pentru a enumera cronjob-urile setate la săptămână, executați comanda de mai jos:
$ ls -la /etc/cron.weekly/
total 28
drwxr-xr-x 2 root root 4096 Apr 24 20:46 .
drwxr-xr-x 96 root root 4096 May 19 17:12 ..
-rw-r–r– 1 root root 102 Feb 9 2013 .placeholder
-rwxr-xr-x 1 root root 730 Feb 23 2014 apt-xapian-index
-rwxr-xr-x 1 root root 427 Apr 16 2014 fstrim
-rwxr-xr-x 1 root root 771 Sep 23 2014 man-db
-rwxr-xr-x 1 root root 211 Mar 27 2017 update-notifier-common
Cum să afișați joburile Cron pe lună
Pentru a enumera cronjob-urile setate la lună, executați comanda de mai jos:
$ ls -la /etc/cron.monthly/
total 12
drwxr-xr-x 2 root root 4096 Apr 24 20:44 .
drwxr-xr-x 96 root root 4096 May 19 17:12 ..
-rw-r–r– 1 root root 102 Feb 9 2013 .placeholder
Vizualizați joburile Cron specifice unui anumit software
Putem arunca o privire la un anumit cronjob prin rularea comenzii cat:
$ cd /etc/cron.daily/
$ ls -l
total 60
-rwxr-xr-x 1 root root 376 Apr 4 2014 apport
-rwxr-xr-x 1 root root 15481 Apr 10 2014 apt
-rwxr-xr-x 1 root root 314 Feb 18 2014 aptitude
-rwxr-xr-x 1 root root 355 Jun 4 2013 bsdmainutils
-rwxr-xr-x 1 root root 256 Mar 7 2014 dpkg
-rwxr-xr-x 1 root root 372 Jan 22 2014 logrotate
-rwxr-xr-x 1 root root 1261 Sep 23 2014 man-db
-rwxr-xr-x 1 root root 435 Jun 20 2013 mlocate
-rwxr-xr-x 1 root root 249 Feb 17 2014 passwd
-rwxr-xr-x 1 root root 2417 May 13 2013 popularity-contest
-rwxr-xr-x 1 root root 214 Mar 27 2017 update-notifier-common
-rwxr-xr-x 1 root root 328 Jul 18 2014 upstart
$ cat update-notifier-common
!/bin/sh
set -e
[ -x /usr/lib/update-notifier/package-data-downloader ] || exit 0
Try to rerun any package data downloads that failed at package install time.
/usr/lib/update-notifier/package-data-downloader
Comentarii