Recherche de site Web

Comment utiliser la commande 'at' pour planifier une tâche à une heure donnée ou plus tard sous Linux


Comme alternative au planificateur de tâches cron, la commande at vous permet de planifier l’exécution d’une commande une fois à un moment donné sans modifier un fichier de configuration.

La seule condition requise consiste à installer cet utilitaire et à démarrer et activer son exécution :

# yum install at              [on CentOS based systems]
sudo apt-get install at     [on Debian and derivatives]

Ensuite, démarrez et activez le service at au moment du démarrage.

--------- On SystemD ---------
systemctl start atd
systemctl enable atd

--------- On SysVinit ---------
service atd start
chkconfig --level 35 atd on

Une fois que atd est en cours d’exécution, vous pouvez planifier n’importe quelle commande ou tâche comme suit. Nous voulons envoyer 4 sondes ping à www.google.com lorsque la minute suivante commence (c’est-à-dire que s’il est 22:20:13, la commande sera exécutée à 22:21:00) et signaler le résultat par e-mail (-m, nécessite Postfix ou équivalent) à l’utilisateur qui appelle la commande :

# echo "ping -c 4 www.google.com" | at -m now + 1 minute

Si vous choisissez de ne pas utiliser l’option -m, la commande sera exécutée mais rien ne sera affiché sur la sortie standard. Vous pouvez toutefois choisir de rediriger la sortie vers un fichier à la place.

De plus, veuillez noter que non seulement permet les heures fixes suivantes : maintenant, midi (12h00) et minuit (00h00), mais aussi les heures personnalisées à 2 chiffres (représentant les heures) et les heures à 4 chiffres (heures et minutes).

Par exemple

Pour exécuter updatedb à 23 heures aujourd’hui (ou demain si la date actuelle est supérieure à 23 heures), faites :

# echo "updatedb" | at -m 23

Pour arrêter le système à 23h55 aujourd’hui (les mêmes critères que dans l’exemple précédent s’appliquent) :

# echo "shutdown -h now" | at -m 23:55

Vous pouvez également retarder l’exécution de minutes, d’heures, de jours, de semaines, de mois ou d’années en utilisant le signe + et la spécification de temps souhaitée comme dans le premier exemple.

Les spécifications de temps sont soumises à la norme POSIX.

Résumé

En règle générale, utilisez at au lieu de cron job scheduler chaque fois que vous souhaitez exécuter une commande ou exécuter une tâche donnée à un moment bien défini une seule fois. Pour les autres scénarios, utilisez cron.

Ensuite, nous verrons comment crypter les fichiers d’archives tar à l’aide d’openssl, jusqu’à ce qu’il reste connecté à Tecmint.

Articles connexes: