GNU/Linux >> Tutoriels Linux >  >> Linux

Planification avec cron &At

Présentation

L'un des défis (parmi les nombreux avantages) d'être un administrateur système est d'exécuter des tâches lorsque vous préférez dormir. Par exemple, certaines tâches (y compris les tâches récurrentes) doivent être exécutées la nuit ou le week-end, lorsque personne ne s'attend à utiliser les ressources informatiques. Je n'ai pas de temps à perdre le soir pour exécuter des commandes et des scripts qui doivent fonctionner pendant les heures creuses. Et je ne veux pas avoir à me lever à cent heures pour lancer une sauvegarde ou une mise à jour majeure.

Au lieu de cela, j'utilise deux utilitaires de service qui me permettent d'exécuter des commandes, des programmes et des tâches à des moments prédéterminés. Le cron et à Les services permettent aux administrateurs système de programmer des tâches à exécuter à un moment précis dans le futur. Le service at spécifie une tâche unique qui s'exécute à un certain moment. Le service cron peut planifier des tâches sur une base répétitive, telle que quotidienne, hebdomadaire ou mensuelle.

1. Cron

Le cron est un utilitaire logiciel offert par un système d'exploitation de type Linux qui automatise la tâche planifiée à une heure prédéterminée. C'est un processus démon , qui s'exécute en tant que processus d'arrière-plan et exécute les opérations spécifiées à l'heure prédéfinie lorsqu'un certain événement ou condition est déclenché sans l'intervention d'un utilisateur. Traiter fréquemment une tâche répétée est une tâche intimidante pour l'administrateur système et il peut donc programmer ces processus pour qu'ils s'exécutent automatiquement en arrière-plan à intervalles réguliers en créant une liste de ces commandes à l'aide de cron .

Il permet aux utilisateurs d'exécuter discrètement la tâche planifiée, comme faire la sauvegarde tous les jours à minuit, programmer des mises à jour hebdomadaires, synchroniser les fichiers à intervalles réguliers. Cron vérifie la tâche planifiée de manière récurrente et lorsque les champs de l'heure planifiée correspondent aux champs de l'heure actuelle, les commandes planifiées sont exécutées. Il est démarré automatiquement à partir de /etc/init.d lors de l'entrée dans les niveaux d'exécution multi-utilisateurs.

Utilisations courantes (et peu courantes) de cron

J'utilise le cron service pour planifier des choses évidentes, comme des sauvegardes régulières qui se produisent tous les jours à 2 heures du matin. Je l'utilise aussi pour des choses moins évidentes.

  • Les heures système (c'est-à-dire l'heure du système d'exploitation) sur mes nombreux ordinateurs sont définies à l'aide du protocole NTP (Network Time Protocol). Alors que NTP définit l'heure système, il ne définit pas l'heure matérielle, qui peut dériver. J'utilise cron pour définir l'heure du matériel en fonction de l'heure du système.
  • J'ai aussi un programme Bash que j'exécute tôt chaque matin et qui crée un nouveau "message du jour" (MOTD) sur chaque ordinateur. Il contient des informations, telles que l'utilisation du disque, qui doivent être à jour pour être utiles.
  • De nombreux processus et services système, tels que Logwatch, logrotate et Rootkit Hunter, utilisent le service cron pour planifier des tâches et exécuter des programmes tous les jours.

La crond daemon est le service d'arrière-plan qui active la fonctionnalité cron.

Le service cron vérifie les fichiers dans /var/spool/cron et /etc/cron.d répertoires et les répertoires /etc/anacrontab dossier. Le contenu de ces fichiers définit les tâches cron qui doivent être exécutées à différents intervalles. Les fichiers cron des utilisateurs individuels se trouvent dans /var/spool/cron , et les services et applications système ajoutent généralement des fichiers de travail cron dans /etc/cron.d annuaire. Le /etc/anacrontab est un cas particulier qui sera traité plus loin dans cet article.

Comment utiliser cron sous Linux

Pas le temps pour les commandes ? Planifier des tâches avec cron signifie que les programmes peuvent s'exécuter mais que vous n'avez pas à vous coucher tard.

Utiliser crontab

L'utilitaire cron s'exécute en fonction des commandes spécifiées dans une table cron (crontab ). Chaque utilisateur, y compris root, peut avoir un fichier cron. Ces fichiers n'existent pas par défaut, mais peuvent être créés dans /var/spool/cron répertoire en utilisant le crontab -e commande qui est également utilisée pour éditer un fichier cron (voir le script ci-dessous). Je vous déconseille fortement de ne pas utilisez un éditeur standard (tel que Vi, Vim, Emacs, Nano ou l'un des nombreux autres éditeurs disponibles).

Crontab

Utilisation de la crontab La commande vous permet non seulement de modifier la commande, mais également de redémarrer le crond démon lorsque vous enregistrez et quittez l'éditeur. La crontab La commande utilise Vi comme éditeur sous-jacent, car Vi est toujours présent (même sur les installations les plus basiques).

Les nouveaux fichiers cron sont vides, les commandes doivent donc être ajoutées à partir de zéro. J'ai ajouté l'exemple de définition de travail ci-dessous à mes propres fichiers cron, juste comme référence rapide, afin que je sache ce que signifient les différentes parties d'une commande. N'hésitez pas à le copier pour votre propre usage.

crontab -e

Le

les trois premières lignes du code ci-dessus configurent un environnement par défaut. L'environnement doit être défini sur tout ce qui est nécessaire pour un utilisateur donné, car cron ne fournit aucun environnement d'aucune sorte. La COQUILLE La variable spécifie le shell à utiliser lorsque les commandes sont exécutées. Cet exemple spécifie le shell Bash. Le MAILTO La variable définit l'adresse e-mail à laquelle les résultats de la tâche cron seront envoyés. Ces e-mails peuvent fournir l'état de la tâche cron (sauvegardes, mises à jour, etc.) et consistent en la sortie que vous verriez si vous exécutiez le programme manuellement à partir de la ligne de commande. La troisième ligne définit le PATH Pour l'environnement. Même si le chemin est défini ici, j'ajoute toujours le chemin complet à chaque exécutable.

Il y a plusieurs lignes de commentaires dans l'exemple ci-dessus qui détaillent la syntaxe requise pour définir une tâche cron. Je vais décomposer ces commandes, puis en ajouter quelques autres pour vous montrer des fonctionnalités plus avancées des fichiers crontab.

01 01 * * * /usr/local/bin/rsbu -vbd1 ; /usr/local/bin/rsbu -vbd2

Ceci

la ligne exécute mon script shell Bash auto-écrit, rsbu , qui sauvegarde tous mes systèmes. Ce travail démarre à 1 h 01 (01 01) tous les jours. Les astérisques (*) aux positions trois, quatre et cinq de la spécification temporelle sont comme des globs de fichiers, ou des caractères génériques, pour d'autres divisions temporelles; ils précisent « tous les jours du mois », « tous les mois » et « tous les jours de la semaine ». Cette ligne exécute mes sauvegardes deux fois ; l'un sauvegarde sur un disque dur de sauvegarde interne dédié et l'autre sur un lecteur USB externe que je peux apporter au coffre-fort.

La ligne suivante définit l'horloge matérielle de l'ordinateur en utilisant l'horloge système comme source d'une heure précise. Cette ligne est configurée pour fonctionner à 5h03 (03 05) tous les jours.

03 05 * * * /sbin/hwclock --systohc

J'utilisais le troisième et dernier travail cron (commenté) pour effectuer un dnf ou miam mise à jour à 04h25 le premier jour de chaque mois, mais je l'ai commentée pour qu'elle ne fonctionne plus.

25 04 1 * * /usr/bin/dnf -y update

Autres astuces de planification

Faisons maintenant des choses un peu plus intéressantes que ces bases. Supposons que vous souhaitiez exécuter une tâche particulière tous les jeudis à 15 h :

00 15 * * Thu /usr/local/bin/mycronjob.sh

Ou, peut-être devez-vous exécuter des rapports trimestriels après la fin de chaque trimestre. Le service cron n'a pas d'option pour "Le dernier jour du mois", vous pouvez donc utiliser le premier jour du mois suivant, comme indiqué ci-dessous. (Cela suppose que les données nécessaires aux rapports seront prêtes lorsque la tâche sera configurée pour s'exécuter.)

02 03 1 1,4,7,10 * /usr/local/bin/reports.sh

L'exemple suivant montre une tâche qui s'exécute une minute après chaque heure entre 9h01 et 17h01.

01 09-17 * * * /usr/local/bin/hourlyreminder.sh

Je

J'ai rencontré des situations où je dois exécuter une tâche toutes les deux, trois ou quatre heures. Cela peut être accompli en divisant les heures par l'intervalle souhaité, tel que */3 toutes les trois heures, ou 6-18/3 à courir toutes les trois heures entre 6 h et 18 h. D'autres intervalles peuvent être divisés de manière similaire; par exemple, l'expression */15 dans la position des minutes signifie "exécuter le travail toutes les 15 minutes."

*/5 08-18/* * * /usr/local/bin/mycronjob.sh

Une chose à noter :Les expressions de division doivent aboutir à un reste de zéro pour que le travail s'exécute. C'est pourquoi, dans cet exemple, la tâche est configurée pour s'exécuter toutes les cinq minutes (08h05, 08h10, 08h15, etc.) pendant les heures paires de 8h00 à 18h00, mais pas pendant les heures impaires. heures numérotées. Par exemple, la tâche ne s'exécutera pas du tout à partir de 21 h 00. à 9h59

Je suis sûr que vous pouvez proposer de nombreuses autres possibilités basées sur ces exemples.

Limiter l'accès cron

Les utilisateurs réguliers disposant d'un accès cron peuvent commettre des erreurs qui, par exemple, peuvent saturer les ressources système (telles que la mémoire et le temps CPU). Pour éviter toute utilisation abusive, l'administrateur système peut limiter l'accès des utilisateurs en créant un /etc/cron.allow fichier contenant une liste de tous les utilisateurs autorisés à créer des tâches cron. L'utilisateur root ne peut pas être empêché d'utiliser cron.

En empêchant les utilisateurs non root de créer leurs propres tâches cron, il peut être nécessaire que root ajoute leurs tâches cron à la crontab root. "Mais attendez!" vous dites. "Cela n'exécute-t-il pas ces tâches en tant que root?" Pas nécessairement. Dans le premier exemple de cet article, le champ de nom d'utilisateur affiché dans les commentaires peut être utilisé pour spécifier l'ID utilisateur qu'un travail doit avoir lors de son exécution. Cela empêche les travaux de l'utilisateur non root spécifié de s'exécuter en tant que root. L'exemple suivant montre une définition de tâche qui exécute une tâche en tant qu'utilisateur "étudiant" :

04 07 * * * student /usr/local/bin/mycronjob.sh

Si aucun utilisateur n'est spécifié, le travail est exécuté en tant qu'utilisateur propriétaire du fichier crontab, root dans ce cas.

cron.d

Le répertoire /etc/cron.d C'est là que certaines applications, telles que spamAssassin et sysstat, installent les fichiers cron. Parce qu'il n'y a pas d'utilisateur spamassassin ou sysstat, ces programmes ont besoin d'un emplacement pour localiser les fichiers cron, ils sont donc placés dans /etc/cron.d .

Le /etc/cron.d/sysstat Le fichier ci-dessous contient des tâches cron liées au rapport d'activité système (SAR). Ces fichiers cron ont le même format qu'un fichier cron utilisateur.

# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

Le fichier cron sysstat comporte deux lignes qui effectuent des tâches. La première ligne exécute le sa1 programmez toutes les 10 minutes pour collecter les données stockées dans des fichiers binaires spéciaux dans /var/log/sa annuaire. Puis, tous les soirs à 23h53, le sa2 programme s'exécute pour créer un résumé quotidien.

Conseils de planification

Certaines des heures que j'ai définies dans les fichiers crontab semblent plutôt aléatoires - et dans une certaine mesure, elles le sont. Essayer de planifier des tâches cron peut être difficile, d'autant plus que le nombre de tâches augmente. Je n'ai généralement que quelques tâches à planifier sur chacun de mes ordinateurs, ce qui est plus simple que dans certains des environnements de production et de laboratoire où j'ai travaillé.

Un système que j'administrais avait environ une douzaine de tâches cron qui s'exécutaient toutes les nuits et trois ou quatre supplémentaires qui s'exécutaient le week-end ou le premier du mois. C'était un défi, car si trop de tâches s'exécutaient en même temps, en particulier les sauvegardes et les compilations, le système manquait de RAM et remplissait presque le fichier d'échange, ce qui entraînait un blocage du système alors que les performances diminuaient, donc rien n'était fait. Nous avons ajouté plus de mémoire et amélioré la planification des tâches. Nous avons également supprimé une tâche qui était très mal écrite et utilisait de grandes quantités de mémoire.

La couronne

Le service suppose que l'ordinateur hôte fonctionne tout le temps. Cela signifie que si l'ordinateur est éteint pendant une période où l'exécution des tâches cron était planifiée, elles ne s'exécuteront pas avant la prochaine fois qu'elles seront planifiées. Cela peut causer des problèmes s'il s'agit de tâches cron critiques. Heureusement, il existe une autre option pour exécuter des tâches à intervalles réguliers :anacron .

anacron

Le programme anacron remplit la même fonction que crond, mais il ajoute la possibilité d'exécuter des tâches qui ont été ignorées, par exemple si l'ordinateur était éteint ou autrement incapable d'exécuter la tâche pendant un ou plusieurs cycles. Ceci est très utile pour les ordinateurs portables et autres ordinateurs qui sont éteints ou mis en mode veille.

Dès que

l'ordinateur est allumé et démarré, anacron vérifie si les travaux configurés ont raté leur dernière exécution planifiée. Si c'est le cas, ces tâches s'exécutent immédiatement, mais une seule fois (quel que soit le nombre de cycles manqués). Par exemple, si une tâche hebdomadaire n'a pas été exécutée pendant trois semaines parce que le système a été arrêté pendant que vous étiez en vacances, elle serait exécutée peu de temps après la mise sous tension de l'ordinateur, mais une seule fois, pas trois.

Le programme anacron fournit des options simples pour exécuter des tâches planifiées régulièrement. Installez simplement vos scripts dans /etc/cron.[hourly|daily|weekly|monthly] répertoires, en fonction de la fréquence à laquelle ils doivent être exécutés.

Comment cela marche-t-il? La séquence est plus simple qu'il n'y paraît.

  1. Le service crond exécute la tâche cron spécifiée dans /etc/cron.d/0hourly .
# Run the hourly jobs
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
01 * * * * root run-parts /etc/cron.hourly

  1. La tâche cron spécifiée dans /etc/cron.d/0hourly exécute les run-parts programmer une fois par heure.
  2. Les pièces d'exécution programme exécute tous les scripts situés dans le /etc/cron.hourly répertoire.
  3. Le /etc/cron.hourly répertoire contient le 0anacron script, qui exécute le programme anacron à l'aide de /etdc/anacrontab fichier de configuration affiché ici.
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22
                                                               
#period in days   delay in minutes   job-identifier   command
1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

  1. Le programme anacron exécute les programmes situés dans /etc/cron.daily une fois par jour ; il exécute les tâches situées dans /etc/cron.weekly une fois par semaine, et les travaux dans cron.monthly une fois par mois. Notez les délais spécifiés dans chaque ligne qui aident à empêcher ces tâches de se chevaucher et d'autres tâches cron.

Au lieu de placer des programmes Bash complets dans le cron.X répertoires, je les installe dans le répertoire /usr/local/bin répertoire, ce qui me permet de les exécuter facilement depuis la ligne de commande. Ensuite, j'ajoute un lien symbolique dans le répertoire cron approprié, tel que /etc/cron.daily .

Le programme anacron

n'est pas conçu pour exécuter des programmes à des moments précis. Il est plutôt destiné à exécuter des programmes à des intervalles qui commencent aux heures spécifiées, par exemple à 3 heures du matin (voir la START_HOURS_RANGE ligne dans le script juste au-dessus) de chaque jour, le dimanche (pour commencer la semaine), et le premier jour du mois. Si un ou plusieurs cycles sont manqués, anacron exécutera les tâches manquées une fois, dès que possible.

Raccourcis

Le /etc/anacrontab Le fichier ci-dessus nous montre un indice sur la façon dont nous pouvons utiliser des raccourcis pour quelques moments spécifiques et courants. Ces raccourcis temporels en un seul mot peuvent être utilisés pour remplacer les cinq champs habituellement utilisés pour spécifier les heures. Le @ Le caractère est utilisé pour identifier les raccourcis vers cron. La liste ci-dessous, extraite de la page de manuel crontab(5), montre les raccourcis avec leurs significations équivalentes.

  • @reboot :exécuté une fois après le redémarrage.
  • @yearly :exécuté une fois par an, c'est-à-dire. 0 0 1 1 *
  • @annually :exécuté une fois par an, c'est-à-dire. 0 0 1 1 *
  • @monthly :exécuté une fois par mois, c'est-à-dire. 0 0 1 * *
  • @weekly :exécuté une fois par semaine, c'est-à-dire. 0 0 * * 0
  • @daily :exécuté une fois par jour, c'est-à-dire. 0 0 * * *
  • @hourly :exécuté une fois par heure, c'est-à-dire. 0 * * * *

Ces raccourcis peuvent être utilisés dans n'importe quel fichier crontab, comme ceux de /etc/cron.d .

En savoir plus sur la définition des limites

J'utilise la plupart de ces méthodes pour planifier des tâches à exécuter sur mes ordinateurs. Toutes ces tâches doivent être exécutées avec les privilèges root. D'après mon expérience, il est rare que les utilisateurs réguliers aient vraiment besoin d'un travail cron. Un cas était un utilisateur développeur qui avait besoin d'une tâche cron pour lancer une compilation quotidienne dans un laboratoire de développement.

Il est important de limiter l'accès aux fonctions cron aux utilisateurs non root. Cependant, il existe des circonstances dans lesquelles un utilisateur doit définir une tâche pour qu'elle s'exécute à des heures prédéfinies, et cron peut lui permettre de le faire. De nombreux utilisateurs ne comprennent pas comment configurer correctement ces tâches à l'aide de cron et font des erreurs. Ces erreurs peuvent être inoffensives, mais, le plus souvent, elles peuvent causer des problèmes. En définissant des politiques fonctionnelles qui amènent les utilisateurs à interagir avec l'administrateur système, les tâches cron individuelles sont beaucoup moins susceptibles d'interférer avec d'autres utilisateurs et d'autres fonctions du système.

Il est possible de fixer des limites sur les ressources totales qui peuvent être allouées à des utilisateurs ou à des groupes individuels, mais c'est un article pour une autre fois.

Points importants

Syntaxe de cron :

cron [-f] [-l] [-L loglevel]

Choix :

  • -f : Utilisé pour rester en mode premier plan et ne pas démoniser.
  • -l : Cela activera les noms conformes LSB pour les fichiers /etc/cron.d.
  • -n : Utilisé pour ajouter le FQDN dans le sujet lors de l'envoi de mails.
  • -L loglevel : Cette option indiquera au cron quoi consigner à propos des travaux avec les valeurs suivantes :
    • 1 : Il enregistrera le début de toutes les tâches cron.
    • 2 : Il enregistrera la fin de toutes les tâches cron.
    • 4 : Il enregistrera tous les travaux ayant échoué. Ici, le statut de sortie ne sera pas égal à zéro.
    • 8 : Il enregistrera le numéro de processus de toutes les tâches cron.

La crontab (abréviation de « cron table ») est une liste de commandes permettant d'exécuter les tâches planifiées à un moment précis. Il permet à l'utilisateur d'ajouter, de supprimer ou de modifier les tâches planifiées. La syntaxe de la commande crontab comporte six champs séparés par un espace où les cinq premiers représentent le temps d'exécution de la tâche et le dernier est pour la commande.

  • Minute (contient une valeur comprise entre 0 et 59)
  • Heure (valeur comprise entre 0 et 23)
  • Jour du mois (valeur comprise entre 1 et 31)
  • Mois de l'année (tient une valeur entre 1-12 ou Jan-Dec, les trois premières lettres du nom du mois doivent être utilisées)
  • Jour de la semaine (tient une valeur entre 0-6 ou Sun-Sat, ici aussi les trois premières lettres du jour doivent être utilisées)
  • Commande
Les règles qui régissent le format des champs de date et d'heure sont les suivantes :
  • Lorsque l'un des cinq premiers champs est défini sur un astérisque (*), il représente toutes les valeurs du champ. Par exemple, pour exécuter une commande quotidiennement, nous pouvons mettre un astérisque (*) dans le champ de la semaine.
  • On peut également utiliser une plage de nombres, séparés par un trait d'union (-) dans le champ de l'heure et de la date pour inclure plus d'une valeur contiguë mais pas toutes les valeurs du champ. Par exemple, nous pouvons utiliser le 7-10 pour exécuter une commande de juillet à octobre.
  • L'opérateur virgule (, ) est utilisé pour inclure une liste de nombres qui peuvent être consécutifs ou non. Par exemple, "1, 3, 5" dans le champ des semaines signifie l'exécution d'une commande tous les lundis, mercredis et vendredis.
  • Un caractère barre oblique (/) est inclus pour ignorer un certain nombre de valeurs. Par exemple, "*/4" dans le champ de l'heure spécifie "toutes les 4 heures", ce qui équivaut à 0, 4, 8, 12, 16, 20.
Autoriser les utilisateurs à exécuter des tâches cron :
  • L'utilisateur doit être répertorié dans ce fichier pour pouvoir exécuter des tâches cron si le fichier existe.
/etc/cron.allow
  • Si le fichier cron.allow n'existe pas mais que le fichier cron.deny existe, alors un utilisateur ne doit pas être répertorié dans ce fichier pour pouvoir exécuter la tâche cron.
/etc/cron.deny

Remarque : Si aucun de ces fichiers n'existe, seul le superutilisateur (administrateur système) sera autorisé à utiliser une commande donnée.
Exemples de commandes :

  • /home/folder/gfg-code.sh toutes les heures, de 9 h 00 à 18 h 00, tous les jours.
00 09-18 * * * /home/folder/gfg-code.sh
  • /usr/local/bin/backup à 23h30, tous les jours de la semaine.
30 23 * * Mon, Tue, Wed, Thu, Fri /usr/local/bin/backup
  • Exécutez sample-command.sh à 07h30, 09h30, 13h30 et 15h30.
30 07, 09, 13, 15 * * * sample-command.sh

Les points suivants doivent être rappelés lors de l'utilisation de cron :

  • Avoir un contrôle de version source pour suivre et maintenir les modifications apportées aux expressions cron.
  • Organisez les tâches planifiées en fonction de leur importance ou de leur fréquence et regroupez-les en fonction de leur action ou de la plage horaire.
  • Testez la tâche planifiée en ayant initialement une fréquence élevée.
  • N'écrivez pas de code complexe ou plusieurs canalisations et redirection directement dans l'expression cron. Au lieu de cela, écrivez-les dans un script et programmez le script dans l'onglet cron.
  • Utilisez des alias lorsque le même ensemble de commandes est répété fréquemment.
  • Évitez d'exécuter des commandes ou des scripts via cron en tant qu'utilisateur root.

2. À

sur commande est un utilitaire de ligne de commande utilisé pour planifier l'exécution d'une commande à un moment donné dans le futur. Emplois créés avec la commande at ne sont exécutés qu'une seule fois. La commande at peut être utilisé pour exécuter n'importe quel programme ou courrier à tout moment dans le futur. Il exécute des commandes à une heure particulière et accepte des heures au format HH:MM pour exécuter une tâche à une heure précise de la journée. L'expression suivante comme midi, minuit, l'heure du thé, demain, la semaine prochaine, lundi prochain, etc. pourrait être utilisée avec at command pour planifier une tâche.

Syntaxe :

at [OPTION...] runtime

Installation d'à la commande

Pour Ubuntu/Debian :

sudo apt-get update
sudo apt-get install at

Pour CentOS/Fedora :

sudo yum install at

Travailler avec à la commande

1. Commande pour répertorier les tâches en attente de l'utilisateur :

at -l

ou

atq

2. Planifiez une tâche pour le lundi suivant à une heure vingt minutes plus tard que l'heure actuelle :

at Monday +20 minutes

3. Planifiez une tâche à exécuter à 1:45 le 12 août 2020 :

at 1:45 081220

4. Planifiez une tâche pour qu'elle s'exécute à 15 h 00 dans quatre jours :

at 3pm + 4 days

5. Planifiez une tâche pour arrêter le système à 4 h 30 aujourd'hui :

# echo "shutdown -h now" | at -m 4:30

6. Planifiez une tâche pour qu'elle s'exécute dans cinq heures :

at now +5 hours

7. La commande at -r ou atrm est utilisée pour supprimer le travail, ici utilisée pour supprimer le travail 11.

 at -r 11

ou

atrm 11

Linux
  1. Planification des tâches avec la commande Linux cron

  2. Première fois avec Linux :30 histoires d'installation

  3. Planification des tâches système avec Cron sous Linux

  4. Synchroniser l'heure du serveur Linux avec le serveur de temps réseau

  5. Utiliser Notify-send avec Cron ?

Planifier des tâches Cron avec Crontab

Horodatages de fichiers Linux expliqués avec des exemples

Suivi du temps avec Timewarrior en ligne de commande

Comment automatiser des tâches avec des tâches cron sous Linux

Comprendre Crontab sous Linux avec des exemples

Exécuter des commandes avec une limite de temps dans Ubuntu 20.04