GNU/Linux >> Linux Esercitazione >  >> Linux

Pianifica un'attività con il comando Linux at

I computer sono bravi nell'automazione, ma non tutti sanno come far funzionare l'automazione. È un vero lusso, tuttavia, essere in grado di pianificare un'attività per un computer in un momento specifico e poi dimenticarsene. Forse hai un file da caricare o scaricare in un momento specifico, o devi elaborare un batch di file che non esistono ancora ma di cui è garantita l'esistenza entro un certo tempo o un'impostazione che deve essere monitorata, o forse hai solo bisogno un amichevole promemoria per prendere pane e burro mentre torni a casa dal lavoro.

Questo è ciò che il at il comando è per.

Che cos'è Linux at command?

Il at comando è il metodo del terminale Linux che consente di pianificare lavori una tantum per un'ora e una data specifiche. È un'automazione spontanea resa facile dal terminale.

Installazione in

Su Linux, il at il comando è probabilmente già installato. Puoi verificare che sia installato usando il at -V comando. Finché viene restituita una versione, hai at installato:

$ at -V
at version x.y.z

Dovresti provare a usare at e il comando non viene trovato, la maggior parte delle moderne distribuzioni Linux offre di installare il at mancante pacchetto per te.

Potrebbe anche essere necessario avviare il demone at, chiamato atd . Sulla maggior parte dei sistemi Linux, usi il comando systemctl per abilitare i servizi e impostarli per l'avvio automatico d'ora in poi:

$ sudo systemctl enable --now atd

Programmazione interattiva di un lavoro con at

Quando usi il at comando insieme all'ora in cui desideri eseguire un'attività, apri un at interattivo richiesta. Puoi inserire i comandi che desideri eseguire all'ora specificata.

Se può essere d'aiuto, puoi pensare a questo processo come a un'app di calendario, come quella che probabilmente usi sul tuo cellulare:prima crei un evento in un giorno alla volta, quindi specifichi cosa vuoi che accada.

Ad esempio, prova a programmare un promemoria per te stesso creando un'attività per alcuni minuti in futuro. Semplifica il compito per ridurre la probabilità di fallimento. Per uscire da at prompt, premi Ctrl+D sulla tastiera.

$ at 11:20 AM
warning: commands will be executed using /bin/sh
at> echo "hello world" > ~/at-test.txt
at> <EOT>
job 3 at Mon Jul 26 11:20:00 2021

Come puoi vedere, at utilizza definizioni di tempo intuitive e naturali. Non è necessario conoscere l'orologio delle 24 ore o tradurre gli orari in UTC o in un formato ISO specifico. In genere, puoi usare qualsiasi notazione ti viene naturale, ad esempio mezzogiorno13:3013:37 , e così via, per descrivere quando vuoi che venga eseguita un'attività.

Attendi qualche minuto e poi verifica che l'attività sia stata eseguita eseguendo cat o il tac comando sul file che hai creato:

$ cat ~/at-test.txt
hello world

Programmazione di un lavoro con a

Non è necessario utilizzare il prompt interattivo per pianificare i lavori con at . Puoi invece inviare comandi ad esso usando echo o printf . In questo esempio, utilizzo la notazione ora e tra quanti minuti voglio che l'attività venga ritardata:

$ echo "echo 'hello again' >> ~/at-test.txt" | at now +1 minute

Dopo un minuto, verifica che il nuovo comando sia stato eseguito:

$ cat ~/at-test.txt
hello world
hello again

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Espressioni temporali

Il at il comando è abbastanza clemente quando interpreta i tempi. Puoi scegliere tra tanti formati, a seconda di quello che ti è più comodo:

  • YYMMDDhhmm [.ss]

    (anno, mese, giorno, ora, minuti e, facoltativamente, secondi abbreviati)
  • CCYYMMDDhhmm [.ss]

    (anno intero, mese, giorno, ora, minuti e, facoltativamente, secondi)
  • now
  • midnight
  • noon
  • teatime (16:00)
  • AM
  • PM

Orari e date possono essere assoluti o aggiungere un segno più (+ ) per renderli relativi a adesso . Quando specifichi tempi relativi, puoi usare parole che probabilmente usi già:

  • minutes
  • hours
  • days
  • weeks
  • months
  • years

Sintassi di ora e data

Il at il comando è meno clemente nel distinguere i tempi dalle date. L'ora deve arrivare prima, seguita dal giorno, anche se il giorno è predefinito per il giorno corrente ed è richiesto solo quando si pianifica un'attività per un giorno in futuro.

Questi sono solo alcuni esempi di espressioni valide:

$ echo "rsync -av /home/tux me@myserver:/home/tux/" | at 3:30 AM tomorrow
$ echo "/opt/batch.sh ~/Pictures" | at 3:30 AM 08/01/2022
$ echo "echo hello" | at now + 3 days

Visualizzazione in coda

Dopo aver abbracciato at e stai pianificando attività invece di scarabocchiare appunti su pezzi di carta che giacciono intorno alla scrivania, potresti voler controllare se hai ancora lavori in coda.

Per visualizzare il tuo at coda, usa atq comando:

$ atq
10 Thu Jul 29 12:19:00 2021 a tux
9  Tue Jul 27 03:30:00 2021 a tux
7  Tue Jul 27 00:00:00 2021 a tux

Per rimuovere un'attività dalla coda, usa atrm comando insieme al numero del lavoro. Per rimuovere il lavoro 7, ad esempio:

$ atrm 7
$ atq
10 Thu Jul 29 12:19:00 2021 a tux
9  Tue Jul 27 03:30:00 2021 a tux

Per vedere cosa c'è effettivamente in un lavoro pianificato, devi guardare il at bobina. Solo l'utente root può visualizzare il at spool, quindi devi usare sudo per visualizzare lo spool o per cat il contenuto di qualsiasi lavoro.

Programma con Linux a

Il at è un ottimo modo per evitare di dimenticare di eseguire un lavoro nel corso della giornata o di fare in modo che il computer esegua un lavoro per te quando non ci sei. A differenza di cron , è libero dall'aspettativa che un lavoro debba essere eseguito su una pianificazione regolare da ora fino all'eternità e la sua sintassi è di conseguenza molto più semplice del cron sintassi.

La prossima volta che hai un piccolo lavoro che vuoi che il tuo computer ricordi e gestisca, prova il at comando.


Linux
  1. Pianificazione delle attività con il comando cron di Linux

  2. Diagnostica i problemi di connettività con il comando ping di Linux

  3. Controlla i comandi e le attività con il comando watch di Linux

  4. Il comando locate in Linux

  5. Come pianificare le attività utilizzando in Linux

15 Comando Linux ps con esempi

Tracciare il tempo con Timewarrior alla riga di comando

Come trovare file con il comando fd in Linux

Il comando timer in Linux

Pianifica i lavori in Linux con il comando 'at'

Comprendere il comando dell'ora in Linux