J'utilise le at
lorsque j'ai besoin d'effectuer des traitements lourds sur les fichiers données, que je veux faire exécuter pendant la nuit, lorsque je ne suis pas derrière mon ordinateur. Bien entendu mais c'est quelque chose que j'ai tendance à oublier.
Le résultat de la commande n'est pas différent de r du script.
@Bernhard
Ce qu'il fait
extrait de at
page de manuel
NAME
at, batch, atq, atrm - queue, examine or delete jobs for later execution
DESCRIPTION
at and batch read commands from standard input or a specified file
which are to be executed at a later time, using /bin/sh.
Utilisation
L'utilisation des outils :
Usage: at [-V] [-q x] [-f file] [-mldbv] timespec ...
at [-V] [-q x] [-f file] [-mldbv] -t time
at -c job ...
atq [-V] [-q x]
atrm [-V] job ...
batch
at
comprend 4 commandes ( at
, atq
, atrm
et batch
). Vous utilisez at
y batch
pour planifier les travaux, atq
pour voir ce qui est prévu, et atrm
pour supprimer un travail avant qu'il ne soit exécuté.
$ at -f <cmd> timspec
Timespec
La durée d'exécution de l'at job peut être spécifiée de différentes manières.
Formulaire d'extrait de la page de manuel
At permet des spécifications temporelles assez complexes, en étendant la norme POSIX.2 qui étend la norme POSIX.2. Il accepte les heures de la forme HH:MM pour exécuter un travail à une heure spécifique de la journée. une heure spécifique de la journée. (Si cette heure est déjà passée, le jour suivant est supposé supposé). Vous pouvez également spécifier le milieu de la nuit, midi ou l'heure du thé (16 heures) et Vous pouvez également spécifier mid night, noon, ou teatime (16h) et vous pouvez avoir une heure du jour suffixée par AM ou PM pour une exécution le matin ou le soir. matin ou le soir. Vous pouvez également indiquer le jour où le job sera exécuté, en donnant une date sous la forme mois-nom-jour avec une année optionnelle, ou en indiquant une date de la forme MMJJ[CC]AA, MM/JJ/[CC]AA, JJ.MM.[CC]AA ou [CC]YY-MM-DD. La spécification d'une date doit suivre la spécification de l'heure du jour. Vous pouvez également donner count time-units, où les unités de temps peuvent être des minutes, des heures ou des jours, ou semaines, et vous pouvez demander à at d'exécuter le travail aujourd'hui en ajoutant à l'heure en suffixant l'heure par today et d'exécuter le travail demain en suffixant l'heure par demain.
Exemples
Disons que vous avez ce shell script.
$ cat mycrontest.sh
#!/bin/bash
echo "It is now $(date +%T) on $(date +%A)"
Exemple d'exécution :
$ ./mycrontest.sh
It is now 18:37:42 on Friday
Exemple de présentation d'offres d'emploi :
$ at -f mycrontest.sh 10pm tomorrow
job 14 at Sun Jul 8 22:00:00 2007
$ at -f mycrontest.sh 2:00 tuesday
job 15 at Tue Jul 10 02:00:00 2007
$ at -f mycrontest.sh 2:00 july 11
job 16 at Wed Jul 11 02:00:00 2007
$ at -f mycrontest.sh 2:00 next week
job 17 at Sat Jul 14 02:00:00 2007
Crédits pour @slm