GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie drucke ich Inhalte von Jobs?

Lösung 1:

at -c jobnumber listet einen einzelnen Job auf. Wenn Sie alle sehen möchten, können Sie ein Skript wie

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

Wahrscheinlich gibt es einen kürzeren Weg, das ist mir gerade aus dem Kopf gegangen :)

Lösung 2:

Aufbauend auf früheren Antworten listet dies die Zeile jedes Jobs ab atq auf zeigt Jobnummer und geplante Zeit und dann nur den auszuführenden Befehl, chronologisch sortiert (statt Jobnummer):

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

produzieren, z.

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

Lösung 3:

Ein viel einfacherer Ansatz:

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

Sie können sich auch alle in less ansehen was wiederum klarer sein könnte:

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

Lösung 4:

Ich habe den Befehl atqc erstellt dafür ("atq mit Befehl"). Eine Bash-Funktion. Führen Sie dies auf der Bash-Befehlszeile (Terminal-Befehl) aus. Oder fügen Sie es in ~/.bashrc ein Datei, um sie für später verfügbar zu machen:

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

Testen Sie es:

atqc

Das funktioniert für RHEL7 mit at -V Version 3.1.13.

Ubuntu 16.04 mit at -V Version 3.1.18 hat ein etwas anderes Ausgabeformat in at -c N , also auf meinem Ubuntu-Server funktioniert das:

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

Linux
  1. So zeigen Sie den Inhalt komprimierter Dateien unter Linux an

  2. So planen Sie Cron-Jobs mit Crontab

  3. Wie entpacke ich den Inhalt einer RPM?

  4. Wie drucke ich eine Nachricht an stderr in Go?

  5. Wie macht man den Entpackbefehl rückgängig?

Wie man Cron-Jobs unter Linux auflistet

Cron-Jobs alle 5, 10 oder 15 Minuten ausführen

So listen Sie den Inhalt eines Pakets in Linux auf

Wie richte ich Cron-Jobs in cPanel ein?

So verwenden Sie den Jobs-Befehl unter Linux

So verwenden Sie den Jobs-Befehl unter Linux