GNU/Linux >> Tutoriels Linux >  >> Linux

Comment imprimer le contenu des travaux at ?

Solution 1 :

at -c jobnumber listera un seul emploi. Si vous voulez tous les voir, vous pouvez créer un script comme

#!/bin/bash
MAXJOB=$(atq | head -n1 | awk '{ print $1; }')
for each in $(seq 1 $MAXJOB); do echo "JOB $each"; at -c $each; done 

Il y a probablement un moyen plus court de le faire, je viens de le sortir de la tête :)

Solution 2 :

S'appuyant sur les réponses précédentes, cela répertorie la ligne de chaque travail à partir de atq affichant le numéro de tâche et l'heure planifiée, puis uniquement la commande à exécuter, triée par ordre chronologique (plutôt que par numéro de tâche) :

for j in $(atq | sort -k6,6 -k3,3M -k4,4 -k5,5 |cut -f 1); do atq |grep -P "^$j\t" ;at -c "$j" | tail -n 2; done

produire, par ex.

48  Fri Mar 10 15:13:00 2017 a root
/usr/local/bin/a-command

47  Fri Mar 10 15:14:00 2017 a root
/usr/local/bin/another-command

Solution 3 :

Une approche beaucoup plus simple :

for j in $(atq | cut -f 1); do at -c "$j"; done

Vous pouvez également consulter chacun d'eux dans less à son tour, ce qui pourrait être plus clair :

for j in $(atq | cut -f 1); do at -c "$j" | less; done

Solution 4 :

J'ai créé la commande atqc pour cela ("atq avec commande"). Une fonction bash. Exécutez ceci sur la ligne de commande bash (commande du terminal). Ou mettez-le dans le ~/.bashrc fichier pour le rendre disponible pour plus tard :

atqc () { atq|perl -ne'($q,$j)=/((\d+).*)/;qx(at -c $j)=~/(marcinDEL\w+).\n(.*?)\n\1/s;print"$q $2"'; }

Testez-le :

atqc

Cela fonctionne pour RHEL7 avec at -V version 3.1.13.

Ubuntu 16.04 avec at -V la version 3.1.18 a un format de sortie légèrement différent en at -c N , donc sur mon serveur Ubuntu cela fonctionne :

atqc(){ atq|perl -nE'($q,$j)=/((\d+).*)/;qx(at -c $j)=~/\n}\n(.*?)\s*$/s;say"$q: $1"';}

Linux
  1. Comment afficher le contenu des fichiers compressés sous Linux

  2. Comment imprimer pthread_t

  3. Comment obtenir l'ID de processus du processus d'arrière-plan ?

  4. Comment obtenir ps pour imprimer le groupe?

  5. Comment annuler la commande de décompression ?

Comment répertorier les tâches Cron sous Linux

Comment exécuter des tâches Cron toutes les 5, 10 ou 15 minutes

Comment lister le contenu d'un paquet sous Linux

Comment configurer les tâches Cron dans cPanel ?

Comment utiliser la commande Jobs sous Linux

Comment utiliser la commande jobs sous Linux