GNU/Linux >> Tutoriels Linux >  >> Linux

6 Exemples de commandes Linux Crontab

La commande Crontab gère la table cron utilisée par le démon cron pour exécuter les tâches cron. Cet article explique les différentes options de ligne de commande de la commande crontab.

1. Ajuster la Crontab des autres utilisateurs à l'aide de l'option -u

-u signifie utilisateur. Cela devrait être suivi d'un nom d'utilisateur valide dans le système. L'option -u seule ne fait rien. Il doit être combiné avec d'autres options. En fait, il peut être combiné avec n'importe quelle autre option de ligne de commande crontab.

Si vous ne spécifiez pas -u username, les commandes crontab seront exécutées sur l'utilisateur actuel. Par exemple, toutes les commandes crontab suivantes seront exécutées sur l'utilisateur actuellement connecté.

crontab -l
crontab -e
crontab -r
..

Si vous spécifiez -u username, la commande crontab sera exécutée sur le nom d'utilisateur donné. Par exemple, toutes les commandes crontab suivantes seront exécutées sur l'utilisateur oracle.

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

2. Afficher la table Cron en utilisant l'option -l

-l signifie liste. Cela affiche la crontab de l'utilisateur actuel. Puisque je suis connecté en tant que root, cela affichera les tâches cron de l'utilisateur root.

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

Pour afficher les tâches cron des autres utilisateurs, combinez -l avec l'option -u.

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

Les 15 exemples de crontab expliquent des façons pratiques d'utiliser les entrées de tâche cron.

3. Modifier la table Cron à l'aide de l'option -e

-e signifie modifier. Cela vous permet de modifier la crontab de l'utilisateur actuel. Puisque je suis connecté en tant que root, cela ouvrira automatiquement les tâches cron de root dans un éditeur Vim et me permettra de le modifier.

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

Comme vous le remarquez ci-dessus, /tmp/crontab.7dgqju est un fichier temporaire créé automatiquement par le crontab dans lequel vous pouvez modifier vos tâches cron.

Lorsque vous enregistrez vos modifications et sortez de l'éditeur Vim, il affichera l'un des messages suivants, selon que vous avez apporté des modifications ou non.

# crontab -e
crontab: no changes made to crontab

# crontab -e
crontab: installing new crontab

Remarque :L'éditeur utilisé par crontab pour ouvrir les tâches cron à modifier dépend de la variable d'environnement VISUAL ou EDITOR. Par défaut, il utilisera l'éditeur Vim sur l'environnement Linux. Mais vous pouvez le modifier à l'aide de la variable d'environnement VISUAL/EDITOR.

Pour modifier les tâches cron d'autres utilisateurs, combinez -e avec l'option -u.

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

Pour comprendre la signification des entrées crontab elles-mêmes, reportez-vous à Comment exécuter une tâche Cron toutes les 5 minutes (ou heures, ou jours ou mois).

4. Charger Crontab à partir d'un fichier

Au lieu de modifier manuellement le crontab pour ajouter de nouvelles tâches, vous pouvez également télécharger toutes les tâches cron à partir d'un fichier. Ceci est utile lorsque vous devez gérer un grand nombre de serveurs qui ont les mêmes entrées de tâche cron.

Dans l'exemple suivant, toutes les tâches cron se trouvent dans le fichier /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

Pour charger les tâches mycronjobs.txt dans la crontab de l'utilisateur actuel, procédez comme suit :

# crontab /home/root/mycronjobs.txt

Validez pour vous assurer que les tâches cron sont téléchargées avec succès.

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

Remarque :Soyez prudent lorsque vous utilisez cette méthode de téléchargement, car cela effacera toutes les entrées de tâches cron actuelles avant de télécharger les nouvelles.

Pour télécharger la tâche cron d'un fichier vers un autre utilisateur, combinez-la avec l'option -u.

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

5. Ajoutez la sécurité SELinux à l'aide de l'option -s

-s signifie SELinux. Cela ajoutera la variable MLS_LEVEL au crontab qui contient le contexte de sécurité SELinux actuel.

Pour utiliser l'option -s, vous devez télécharger les tâches cron à partir d'un fichier.

# 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

Selon votre système, ce qui précède ajoutera soit la variable SELUNUX_ROLE_TYPE, soit la variable MLS_LEVEL qui contient la chaîne de contexte de sécurité SELinux. Si vous n'utilisez pas SELinux dans votre environnement, ne vous inquiétez pas de ce que fait cette option. SELinux est un sujet de discussion distinct, que nous pourrions aborder en détail dans de futurs articles.

6. Supprimer toutes les tâches Cron à l'aide de l'option -r

-r signifie supprimer. Cela supprimera toutes les entrées de tâche cron de l'utilisateur actuel, comme indiqué ci-dessous.

# 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 signifie mode interactif. La combinaison de -i avec -r vous demandera une confirmation avant de supprimer toutes les entrées crontab.

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

Pour supprimer les tâches cron des autres utilisateurs, combinez -r avec l'option -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. Commande JQ sous Linux avec exemples

  2. 7 Exemples de commandes Linux df

  3. Exemples de commande rm sous Linux

  4. Exemples de commandes ps sous Linux

  5. w Exemples de commandes sous Linux

9 exemples de commandes tee sous Linux

9 exemples de commande diff sous Linux

Commande Linux ip avec exemples

15 Commande Linux ps avec exemples

8 exemples de commandes LDD sous Linux

Exemples de commandes id sous Linux