51 votes

Mac OS X : la commande at ne fonctionne pas

Je vais planifier un travail en utilisant la commande at. J'ai essayé la commande suivante :

$ at now + 1 minute
echo 'Test at command'
<EOD>

J'ai vu que le travail est planifié en utilisant at -l. Cependant, je n'ai pas vu d'echo out.

Je suppose qu'il faut ajouter l'utilisateur au fichier at.allow. Je ne trouve pas at.allow dans mon Mac (Snow Leopard). Je ne suis pas sûr de savoir ce que je dois faire pour tester cette commande at ?

47voto

Martijn Laarman Points 111

Afin de permettre la mise en œuvre des mesures nécessaires à la mise en place d'un système de gestion de l'information, le atrun comme man atrun dit, exécutez :

launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

en tant que racine (par exemple via sudo ). Une fois que vous avez fait cela, /var/at/ sera le répertoire clé (bien que la façon la plus simple soit d'utiliser at en tant que racine -- par exemple, une fois de plus, par sudo !-).

15voto

Chris Points 161

Dans Snow Leopard, vous devez :

  1. Modifier le /System/Library/LaunchDaemons/com.apple.atrun.plist , modifie le nœud enfant désactivé de true -> false .

  2. Décharger le courant /System/Library/LaunchDaemons/com.apple.atrun.plist avec :

    sudo launchctl unload -F /System/Library/LaunchDaemons/com.apple.atrun.plist

    Chargez ensuite la version éditée

    sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
  3. Test avec lequel il fonctionne :

    echo blah | at now+1
  4. Si l'écho échoue pour une autre raison, vous devriez au moins pouvoir voir la file d'attente se vider :

    atq

5voto

chris838 Points 151

J'ai essayé sur OS X Lion et cela semble fonctionner.

Activez d'abord la fonction atrun deamon :

launchctl load -w
/System/Library/LaunchDaemons/com.apple.atrun.plist

Ajoutez ensuite [votre nom d'utilisateur] à /var/at/at.allow .

Une fois l'opération exécutée, vous obtiendrez un résultat à l'adresse suivante /var/mail/[your username]

Je constate que les éléments en file d'attente avec batch Il faut quelques minutes pour qu'il soit réellement exécuté.

3voto

Laurent Pireyn Points 483

D'autres ont répondu à propos de à étant désactivé sur Mac OS X, et je n'en sais rien, mais il y a un autre problème : où voulez-vous que votre écho pour imprimer son message ? Sur les autres systèmes Unix que j'ai utilisés, c'est le cas no s'imprime dans la même fenêtre Shell où vous avez donné la commande à commande. Rappelez-vous que lorsque la commande à est exécuté, il se peut que vous ne soyez même plus connecté.

Essayez plutôt d'écrire quelque chose dans un fichier et voyez si ce fichier apparaît au bon moment.

2voto

Carl Walsh Points 253

En launchctl n'était pas suffisante pour moi ; Commentaire de Seamus m'a indiqué un réponse plus récente .

Pour résumer, vous devez également ajouter /usr/libexec/atrun dans Préférences système > Sécurité et confidentialité > Accès intégral au disque.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X