Si vous souhaitez planifier une tâche pour qu'elle s'exécute une seule fois dans le futur (au lieu de la planifier régulièrement avec cron), vous pouvez utiliser le at commande. Pour utiliser at, vous devez d'abord vérifier que le package at a été installé et que le service atd a été démarré.
Vous définissez un travail at à l'invite de commande en entrant at launch_time, où launch_time est l'heure à laquelle vous souhaitez que le travail commence. (Par exemple - 12:34). Ensuite, vous entrez les commandes que vous souhaitez exécuter une ligne à la fois au at> rapide. Lorsque vous avez fini de saisir les commandes, vous enregistrez le travail en appuyant sur Ctrl+d.
Voici un exemple de création d'une tâche avec la commande at :
# at 10:40 at> echo "Hello World" > /tmp/out at> [EOT] job 3 at Sun Dec 17 10:40:00 2017
Pour afficher la file d'attente des travaux at, utilisez la commande atq. Par exemple :
# atq 2 Sun Dec 17 10:37:00 2017 a root 3 Sun Dec 17 10:40:00 2017 a root
Le nombre dans la première colonne est l'ID de travail du travail at. Pour supprimer un travail de la file d'attente at avant que le travail puisse être exécuté, utilisez le atrm commande.
# atrm [job_ID]
Par exemple :
# atrm 2
Vous pouvez également entrer les commandes que vous souhaitez exécuter dans un fichier texte. Si vous faites cela, vous devez entrer "at -f file launch_time ' à l'invite du shell, où le fichier est le chemin et le nom du fichier.
Le tableau suivant répertorie d'autres commandes et options couramment utilisées :
Commande | Description |
---|---|
atq | Affiche les tâches définies (y compris les numéros de tâche, qui sont nécessaires pour supprimer une tâche) |
atrm job_number | Supprime une tâche (en utilisant le numéro de tâche) |
Comme avec cron, vous pouvez restreindre l'accès au démon atd. Deux fichiers déterminent quels utilisateurs peuvent exécuter la commande at :
- /etc/at.allow :Les utilisateurs entrés dans ce fichier peuvent définir des tâches.
- /etc/at.deny :Les utilisateurs qui ne sont pas répertoriés dans ce fichier peuvent définir des tâches.
Ces fichiers sont des fichiers texte que vous pouvez modifier ou créer. Si le fichier /etc/at.allow existe, seul ce fichier est évalué. Si aucun de ces fichiers n'existe, seul l'utilisateur root peut définir at jobs.