La réponse de Bernhard est correcte: dans les systèmes multi-utilisateurs, la possibilité d'exécuter des programmes lourds à des heures impies de la nuit est particulièrement pratique, à la fois pour la personne qui soumet le travail et ses collègues. Cela fait partie de "jouer gentil".
J'ai fait l'essentiel de mon doctorat Les calculs de cette façon, combinant le script avec la commande nice qui rétrogradait la priorité de mon travail lorsque d’autres personnes tenaient la machine occupée, tout en laissant intacte sa capacité à exploiter toutes les ressources système la nuit.
J'ai utilisé la même commande pour vérifier si mon programme était en cours d'exécution et le redémarrer si nécessaire.
De plus, vous devez garder à l’esprit que at était écrit bien avant screen, tmux , etc., de sorte que c’était un moyen simple d’avoir un shell séparé, c’est-à-dire qui ne mourrait pas une fois que vous êtes déconnecté du système.
Enfin, vous devriez également remarquer que c’est différent de cron, qui existe aussi depuis longtemps. Les mensonges de différence dans le fait que , à est occasionnelle, tandis que Cron, étant si répétitif, est plus adapté pour les emplois système qui a vraiment besoin d' être exécuté pour toujours à intervalles fixes: en effet, à vous donne votre propre environnement, avec vos propres paramètres ( et choix) de la variable d'environnement, alors que cron utilise un ensemble minimal de variables d'environnement (il suffit de vérifier la différence dans PATH , à titre d'exemple).
at
conserve votre environnement tel qu'il était lors de la planification du travail: même répertoire de travail, variables d'environnement, ...batch
, qui est presque identique àat
, mais attendra une charge faible à la place, et apparemment,at -q z
le travail sera agréable en lui-même, alorsat -q Z
qu'il attendra l'heure, puis attendra que la charge tombe, et le travail aussi. Wow, quelle charge de fonctionnalités rarement utilisées!J'utilise cette
at
commande lorsque je dois effectuer des traitements lourds sur des données, que je souhaite faire exécuter pendant la nuit, lorsque je ne suis pas derrière mon ordinateur. Bien sûr, je pourrais commencer le processus juste après mon départ, mais c'est quelque chose que j'ai tendance à oublier.Le résultat de la commande n'est pas différent de l'exécution régulière du script ou de la commande.
la source
Lorsque vous avez des questions de ce type, consultez toujours les pages de manuel. Ils peuvent être très instructifs.
Ce qu'il fait
extrait de la page de manuel
Usage
L'utilisation des outils:
at
comprend 4 commandes (at
,atq
,atrm
, etbatch
). Vous utilisezat
etbatch
pour planifier les travaux,atq
pour voir ce qui est planifié etatrm
pour supprimer un travail avant son exécution.Timespec
Le temps d'exécution du
at
travail peut être spécifié de différentes manières.extrait de la page de manuel
Exemples
Disons que vous avez ce script shell.
Échantillon échantillon:
Échantillon aux offres d'emploi:
Les références
la source
at
disponible sur mon installation Cygwin soit disponible: elle ne semble pas être liée àbatch
, aucune option courte n'est prise en charge, il n'y a pas d'option silencieuse et aucune pageman
ni aucuneinfo
page ne sont incluses.Vous pouvez exécuter des travaux par lots sous UNIX / Linux à l'aide de l'une des trois commandes - at, batch ou cron.
Planifiez un travail en utilisant une date et une heure spécifiques
la source
Votre administrateur réseau vous informe que vos serveurs Web seront soumis à une maintenance commençant à 19 heures et se terminant à 2 heures. Vous voulez envoyer une notification de maintenance à l'avance et vous voulez une disponibilité maximale de votre système. Allez-vous rester éveillé toute la nuit, prêt à exécuter diverses commandes, puis le redémarrer plus tard? Non, vous voudriez utiliser
at
pour planifier ces tâches, puis aller au lit / jouer aux skyrim et oublier.la source
at
peut également être un moyen très pratique de déclencher des rappels. Ma machine de développement actuelle fonctionne sous OSX, doncat
la simple méthodenotify.bash
que je bricole peut être vraiment utile:notify.bash
la source