GNU/Linux >> Znalost Linux >  >> Linux

6 Příklady příkazů Linux Crontab

Příkaz Crontab spravuje tabulku cron, kterou používá démon cron k provádění úloh cron. Tento článek vysvětluje různé možnosti příkazového řádku příkazu crontab.

1. Vyladění Crontab pro ostatní uživatele pomocí volby -u

-u znamená uživatel. Poté by mělo následovat platné uživatelské jméno v systému. -u možnost sama o sobě nic nedělá. Mělo by být kombinováno s dalšími možnostmi. Ve skutečnosti jej lze kombinovat s jakýmikoli jinými možnostmi příkazového řádku crontab.

Pokud nezadáte -u uživatelské jméno, příkazy crontab budou provedeny na aktuálním uživateli. Například všechny následující příkazy crontab budou provedeny na aktuálně přihlášeném uživateli.

crontab -l
crontab -e
crontab -r
..

Pokud zadáte -u uživatelské jméno, bude příkaz crontab proveden s daným uživatelským jménem. Například všechny následující příkazy crontab budou provedeny na uživateli oracle.

crontab -u oracle -l
crontab -u oracle -e
crontab -u oracle -r
..

2. Zobrazte tabulku Cron pomocí volby -l

-l znamená seznam. Zobrazí se crontab aktuálního uživatele. Protože jsem přihlášen jako root, zobrazí se úlohy cron uživatele root.

# crontab -l
53 00 * * 7 /bin/sh /home/root/bin/server-backup

Chcete-li zobrazit úlohy cron ostatních uživatelů, zkombinujte -l s volbou -u.

# crontab -u oracle -l
01 00 * * * /bin/sh /home/oracle/bin/rman-backup

15 příkladů crontab vysvětluje praktické způsoby použití záznamů úlohy cron.

3. Upravte tabulku Cron pomocí volby -e

-e znamená upravit. To vám umožní upravit crontab aktuálního uživatele. Protože jsem přihlášen jako root, automaticky se tím otevřou úlohy cronu root v editoru Vim a umožní mi to upravit.

# crontab -e
53 00 * * 7 /bin/sh /home/root/bin/server-backup
~
~
/tmp/crontab.7dgqju

Jak jste si všimli z výše uvedeného, ​​/tmp/crontab.7dgqju je dočasný soubor vytvořený crontabem automaticky, kde můžete upravovat své úlohy cron.

Když uložíte své úpravy a opustíte editor Vim, zobrazí se jedna z následujících zpráv v závislosti na tom, zda jste provedli nějaké změny nebo ne.

# crontab -e
crontab: no changes made to crontab

# crontab -e
crontab: installing new crontab

Poznámka:Editor, který crontab používá k otevírání úloh cron pro úpravy, závisí na proměnné prostředí VISUAL nebo EDITOR. Ve výchozím nastavení bude používat editor Vim v prostředí Linuxu. Můžete ji však změnit pomocí proměnné prostředí VISUAL/EDITOR.

Chcete-li upravit úlohy cron jiných uživatelů, zkombinujte volbu -e s volbou -u.

# crontab -u oracle -e
crontab: installing new crontab

Chcete-li porozumět významu samotných položek crontab, podívejte se na Jak spustit úlohu Cron každých 5 minut (nebo hodin, dnů nebo měsíců).

4. Načtěte Crontab ze souboru

Namísto ruční úpravy crontab za účelem přidání nových úloh můžete také nahrát všechny úlohy cron ze souboru. To je užitečné, když musíte udržovat mnoho serverů, které mají stejné položky cron úlohy.

V následujícím příkladu jsou všechny úlohy cron v souboru /home/root/mycronjobs.txt.

# cat /home/root/mycronjobs.txt
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

Chcete-li nahrát úlohy mycronjobs.txt do crontab aktuálního uživatele, proveďte následující:

# crontab /home/root/mycronjobs.txt

Ověřte, zda jsou úlohy cron úspěšně nahrány.

# crontab -l
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

Poznámka:Při používání této metody nahrávání buďte opatrní, protože před nahráním nových vymaže všechny aktuální položky úlohy cron.

Chcete-li nahrát úlohu cron ze souboru jinému uživateli, zkombinujte ji s volbou -u.

# crontab -u oracle /home/oracle/mycronjobs.txt

5. Přidejte zabezpečení SELinux pomocí volby -s

-s znamená SELinux. Tím přidáte proměnnou MLS_LEVEL do crontab, který obsahuje aktuální kontext zabezpečení SELinux.

Chcete-li použít volbu -s, měli byste úlohy cron nahrát ze souboru.

# cat /home/root/mycronjobs.txt
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

# crontab -s /home/root/mycronjobs/my.txt
SELINUX_ROLE_TYPE=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

V závislosti na vašem systému výše uvedené přidá buď proměnnou SELUNUX_ROLE_TYPE, nebo proměnnou MLS_LEVEL, která obsahuje řetězec kontextu zabezpečení SELinux. Pokud ve svém prostředí nepoužíváte SELinux, nedělejte si starosti s tím, co tato možnost dělá. SELinux je samostatné téma diskuse, kterému bychom se mohli podrobně věnovat v budoucích článcích.

6. Smažte všechny úlohy Cron pomocí volby -r

-r znamená odebrat. Tím se odstraní všechny položky cron úlohy aktuálního uživatele, jak je uvedeno níže.

# crontab -l
53 00 * * 7 /bin/sh /home/root/bin/server-backup
01 00 * * * /bin/sh /home/root/bin/check-user-quota

# crontab -r

# crontab -l
no crontab for root

-i znamená interaktivní režim. Kombinací -i s -r budete požádáni o potvrzení před odstraněním všech položek crontab.

# crontab -ir
crontab: really delete root's crontab? n

Chcete-li odstranit úlohy cron ostatních uživatelů, zkombinujte -r s volbou -u.

# crontab -u oracle -l
01 00 * * * /bin/sh /home/oracle/bin/rman-backup

# crontab -u oracle -r

# crontab -u oracle -l
no crontab for oracle

Linux
  1. 7 Příklady příkazů Linux df

  2. 8 Příklady příkazů Linux TR

  3. Příklady příkazů rm v Linuxu

  1. Příklady příkazů ps v Linuxu

  2. sa Příklady příkazů v Linuxu

  3. w Příklady příkazů v Linuxu

  1. Příklady příkazů ac v Linuxu

  2. Příklady příkazů df v Linuxu

  3. du příklady příkazů v Linuxu