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.