Supprimer tous les travaux `at`


32

Je sais que pour supprimer un attravail planifié, je dois l'utiliser atrm "numjob1 numjob2", mais existe-t-il un moyen simple de le faire pour tous les travaux?

Réponses:


31

Vous pouvez exécuter cette commande pour supprimer tous les travaux sur atq

 for i in `atq | awk '{print $1}'`;do atrm $i;done

2
variation sur cette réponseat -l | awk '{printf "%s ", $1}' | xargs atrm
Sergiy Kolodyazhnyy

10

Vous pourriez faire quelque chose comme ça:

for i in $(atq | cut -f 1); do atrm $i; done

Dans FreeBSD, c'est la cut -f3première colonne qui est la date
David Jashi



1

Voici ma version xargs qui évite les accolades et qui, espérons-le, est intuitive:

atq | cut -f 1 | xargs atrm

Vous pouvez également grep des travaux spécifiques par horodatage / ID utilisateur puis les supprimer:

atq | grep "2018-10-22 16:" | cut -f 1 | xargs atrm

0

J'ai eu plus de 58 000 emplois dans atd (quelqu'un a redémarré le serveur et pour une raison quelconque, le service atd n'a pas démarré). La suppression des travaux en utilisant atrm est très douloureuse pour une file d'attente très élevée.

J'ai arrêté atd et supprimé tous les répertoires de / var / spool / atjobs et les fichiers de / var / spool / atspool . Pour moi, cela a fonctionné.

rm -rf /var/spool/atjobs/* ; rm /var/spool/atspool/*

Vous ne dites jamais rien sur le atdredémarrage, et si cela a été un succès, et vous ne mentionnez pas non plus pour quoi Unix serait une solution adéquate. Comment vous êtes-vous assuré que les travaux des autres utilisateurs n'étaient pas supprimés?
Kusalananda

D'accord! Désolé! Besoin de démarrer atd après le processus. Ma solution est pour "SUSE Linux Enterprise Server 12". Mais je pense qu'il peut être utilisé dans d'autres distributions. J'ai trouvé les informations des répertoires dans "man". Dans ma situation, seul root utilise atd, puis la suppression des fichiers était sûre.
Felipe
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.