GNU/Linux >> Linux Esercitazione >  >> Linux

Come si stampano i contenuti di at job?

Soluzione 1:

at -c jobnumber elencherà un singolo lavoro. Se vuoi vederli tutti, puoi creare uno script come

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

Probabilmente c'è un modo più breve per farlo, me lo sono appena tolto dalla testa :)

Soluzione 2:

Basandosi sulle risposte precedenti, questo elenca la riga di ogni lavoro da atq mostrando il numero del lavoro e l'ora pianificata e poi solo il comando da eseguire, ordinato cronologicamente (anziché il numero del lavoro):

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

produrre, ad es.

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

Soluzione 3:

Un approccio molto più semplice:

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

Puoi anche guardare ognuno in less a sua volta, il che potrebbe essere più chiaro:

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

Soluzione 4:

Ho creato il comando atqc per questo ("atq con comando"). Una funzione bash. Esegui questo sulla riga di comando bash (comando terminale). Oppure inseriscilo nel ~/.bashrc file per renderlo disponibile per dopo:

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

Provalo:

atqc

Funziona per RHEL7 con at -V versione 3.1.13.

Ubuntu 16.04 con at -V la versione 3.1.18 ha un formato di output leggermente diverso in at -c N , quindi sul mio server Ubuntu funziona:

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

Linux
  1. Come eliminare i lavori cron

  2. Come pianificare i lavori Cron con Crontab

  3. Come stampare pthread_t

  4. Come ottenere l'ID processo del processo in background?

  5. Come stampare un numero nell'assemblea NASM?

Come elencare i lavori Cron in Linux

Come eseguire Cron Jobs ogni 5, 10 o 15 minuti

Come elencare il contenuto di un pacchetto in Linux

Come impostare Cron Jobs in cPanel?

Come utilizzare il comando Jobs in Linux

Come usare il comando jobs in Linux