Jméno Cron pochází z řeckého slova Chronos, které se používá pro čas. Je to démon pro systémy Linux, který automatizuje provádění příkazů nebo skriptů v určených časových intervalech.
Tento tutoriál vám ukáže několik možností, jak zobrazit seznam všech naplánovaných úloh cronu pro uživatele na systémech Linux.
Jak zobrazit seznam úloh Cron aktuálního uživatele
Výchozí příkaz crontab funguje pro aktuálně přihlášeného uživatele. Můžete vypsat všechny naplánované úlohy cronu pro aktuálního uživatele, spusťte:
crontab –l
Výstup:
Všechny úlohy uživatelského cronu jsou obecně umístěny pod /var/spool/cron/crontabs adresář. Pro všechny uživatelské účty s jejich jménem je vytvořen samostatný soubor.
Seznam úloh Cron jiného uživatele
Uživatel s privilegovaným oprávněním root nebo sudo může také zobrazit naplánované cronjoby jiných uživatelů. Pomocí -u následovaného uživatelským jménem vypíšete všechny úlohy, které patří konkrétnímu uživateli.
Například:
sudo crontab –u username –l
Nahraďte uživatelské jméno skutečným uživatelským jménem, které chcete zobrazit úlohy cron.
Seznam úloh Cron spuštěných systémem
Uživatel root může přistupovat a upravovat crontab operačního systému. Cronjoby systému můžete zobrazit spuštěním následujícího příkazu jako privilegovaný účet root nebo sudo.
less /etc/crontab
Výstup:
# /etc/crontab:crontab pro celý systém# Na rozdíl od jiných crontab nemusíte spouštět příkaz `crontab'# k instalaci nové verze, když upravujete tento soubor# a soubory v /etc/cron. d. Tyto soubory mají také pole pro uživatelské jméno,# které žádný z ostatních crontabů nedělá.SHELL=/bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr /bin# Příklad definice úlohy:# .---------------- minuta (0 - 59)# | .------------- hodina (0 - 23)# | | .---------- den v měsíci (1 - 31)# | | | .------- měsíc (1 - 12) NEBO led,únor,březen,duben ...# | | | | .---- den v týdnu (0 - 6) (neděle=0 nebo 7) NEBO ne,po,út,st,čt,pá,so# | | | | |# * * * * * příkaz uživatelského jména, který se má provést17 * * * * root cd / &&run-parts --report /etc/cron.hourly25 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 )
Jak vytvořit seznam hodinových úloh Cron
Můžete si prohlédnout adresář /ettc/cron.hourly, kde najdete všechny úlohy cron, které se mají každou hodinu spouštět.
ls -la /etc/cron.hourly
Výstup:
celkem 20drwxr-xr-x 2 kořen kořen 4096 23. dubna 2020 .drwxr-xr-x 142 kořen kořen 12288 19. ledna 15:21 ..-rw-r--r-- 1 kořen 102 2. 2. 14 2. zástupný symbol
Výše uvedený výstup ukazuje, že neexistuje žádný plán úloh cron, který by se spouštěl každou hodinu. V každém adresáři můžete vidět soubor .placeholder, který je vytvořen, aby se zabránilo náhodnému smazání adresáře správcem balíčků. Když v adresáři neexistuje žádný jiný soubor.
Jak vytvořit seznam denních úloh Cron
Podobně můžete vypsat všechny naplánované úlohy, které se mají spouštět denně. Většinu aplikačních úloh lze nalézt v tomto adresáři.
ls -la /etc/cron.daily
Výstup:
celkem 72drwxr-xr-x 2 kořenový kořen 4096 28. prosince 15:28 .drwxr-xr-x 142 kořenový kořen 12288 19. leden 15:21 ..-rwxr-xr-x 1 kořenový kořen 311 1905 července 16 rwxr-xr-x 1 kořenový kořenový adresář 539 13. dubna 2020 apache2-rwxr-xr-x 1 kořenový adresář 376 5. prosince 2019 apport-rwxr-xr-x 1 kořenový adresář 1478 9. dubna 2020 aptx-compat-rw kořenový adresář 355 29. prosince 2017 bsdmainutils-rwxr-xr-x 1 kořenový adresář 384 19. listopadu 2019 cracklib-runtime-rwxr-xr-x 1 kořenový adresář 1187 6. září 2019 dpkg-rwxr-xr-xr-xr-010 logrotate-rwxr-xr-x 1 kořenový kořenový adresář 1123 25. února 2020 man-db-rw-r--r-- 1 kořenový adresář 102 14. února 2020 .placeholder-rwxr-xr-x 1 kořenový adresář 4574 Popularita 18. července 2019 contest-rwxr-xr-x 1 kořenový kořenový adresář 383 6. ledna 2020 samba-rwxr-xr-x 1 kořenový kořenový adresář 214 2. dubna 2020 update-notifier-common
Jak vytvořit seznam týdenních úloh Cron
Týdenní úlohy cron jsou naplánovány v adresáři /etc/cron.weekly.
ls -la /etc/cron.weekly
Výstup:
celkem 32drwxr-xr-x 2 kořenový kořen 4096 23. dubna 2020 .drwxr-xr-x 142 kořenový kořen 12288 19. ledna 15:21 ..-rwxr-xr-x 1 kořen 312 11. července-906 2. července 2020 xr-x 1 kořenový kořenový adresář 813 25. února 2020 man-db-rw-r--r-- 1 kořenový adresář 102 14. února 2020 .placeholder-rwxr-xr-x 1 kořenový adresář 211 2. dubna 2020 update-notifier-commonJak vypsat Montly Cron Jobs
Všechny měsíční úlohy cron jsou naplánovány v adresáři /etc/cron.monthly.
ls -la /etc/cron.monthly
Výstup:
celkem 24drwxr-xr-x 2 kořenový kořen 4096 23. dubna 2020 .drwxr-xr-x 142 kořenový kořen 12288 19. ledna 15:21 ..-rwxr-xr-x 1 kořen 313 července 1906-2 r--r-- 1 kořenový kořen 102 14. února 2020 .placeholderJak zobrazit úlohy Cron specifické pro aplikaci
Květen aplikací naplánoval úlohy cronu pro běžné práce. Tyto úlohy lze nalézt pod hodinovými, denními, týdenními nebo měsíčními úlohami cron.
Například webový server Apache vytvořil soubor úlohy cron pod /etc/cron.daily. To znamená, že práce je prováděna denně. Obsah úlohy cron můžete zobrazit přístupem k obsahu souboru, jak je uvedeno níže:
cat /etc/cron.daily/apache2
Výstup:
#!/bin/sh# spustit htcacheclean, pokud je nastaven na 'cron' modeset -eset -utype htcacheclean> /dev/null 2>&1 || exit 0[ -e /etc/default/apache-htcacheclean ] || exit 0# pro změnu /etc/default/apache-htcacheclean toto změníteHTCACHECLEAN_MODE=daemonHTCACHECLEAN_RUN=autoHTCACHECLEAN_SIZE=300MHTCACHECLEAN_PATH=/var/cache/apache2/mod_cache_diskHTCACHECLEAN_OPTION /etc/default/apache-htcacheclean[ "$HTCACHECLEAN_MODE" ="cron" ] || exit 0htcacheclean ${HTCACHECLEAN_OPTIONS} \ -p${HTCACHECLEAN_PATH} \ -l${HTCACHECLEAN_SIZE}Závěr
V tomto tutoriálu jste se naučili prohlížet, vypisovat nebo zobrazovat úlohy cron v systému Linux. Navíc jste našli podrobnosti o úlohách cron prováděných na hodinové, denní, týdenní nebo měsíční bázi.
Linux