Come programmare un'attività in Linux?

Come programmare un'attività in Linux?
Ogni volta che utilizzano un sistema operativo basato su Unix, alcune attività devono essere eseguite ripetutamente. Eseguirli manualmente ogni volta che richiede tempo e nel complesso inefficiente. Per risolvere questo problema, Unix viene fornito con i suoi programmi di attività integrati. Questi programmi di attività si comportano come una sveglia intelligente. Quando si spegne l'allarme, il sistema operativo eseguirà l'attività predefinita.

Nel caso di Linux, viene fornito con due strumenti di base ma potenti: Cron Daemon (Scheduler di attività predefinite) e at (più adatto per la pianificazione delle attività una tantum).

In questa guida, controlla come programmare un'attività in Linux.

Attività di pianificazione in Linux

Cron
Il demone Cron è responsabile della gestione di molti lavori in tempi specifici. Queste attività sono generalmente eseguite in background in tempi programmati. Offre una grande flessibilità indipendentemente dal compito, indipendentemente dall'intervallo (ora, settimana, mese, anno o altro).

Cron tiene traccia delle sue azioni utilizzando il file Crrontab. Il file Crrontab è uno script che contiene tutte le informazioni necessarie per eseguire tutti i lavori CRON.

Diamo un'occhiata rapida ad un po 'dell'uso di base di Cron. Nel caso di uno dei seguenti comandi, verrà configurato per l'utente root se viene eseguito con il privilegio sudo. Per la dimostrazione, ho preso un file di crontab di esempio da qui.

Per elencare tutti i lavori cron programmati per l'utente corrente, eseguire il comando seguente. Stamperà tutti i contenuti del file Crrontab.

$ crontab -l


Vuoi l'elenco di lavoro Cron per un utente diverso? Esegui invece questo comando.

$ sudo crontab -u -l


Per modificare lo script Crrontab, eseguire il comando. Per modificare il file Crrontab per root, eseguire il seguente comando con Sudo Privilege.

$ crontab -e


Ogni riga nello script Crrontab definisce un'attività. Ecco una rapida rottura delle voci di Crrontab.

$

Ecco un elenco di tutti i possibili valori per tutti questi campi. Se usato un asterisco (*) anziché un valore numerico, verrà utilizzato ogni possibile valore del campo.

  • Minuto: da 0 a 59
  • Ore: da 0 a 23
  • Giorno del mese: da 1 a 31
  • Mese: da 1 a 12
  • Giorno della settimana: 0 (domenica) a 6 (sabato)

Per una guida approfondita su come utilizzare Crrontab per automatizzare le attività, dai un'occhiata a come configurare i lavori CRON in Linux. Ecco un altro rapido esempio di un lavoro cron che corre ogni minuto.

A
Mentre Cron è il modo principale di pianificare le attività, offre la possibilità di eseguire un comando/script in un momento specifico o ad un intervallo fisso, si noti che a Will eseguono il lavoro target una volta mentre Cron avrebbe eseguito il riesazione del lavoro all'intervallo. Lo strumento AT è meno popolare rispetto a Cron, ma è relativamente più facile da usare. Puoi usare alcune parole chiave come mezzanotte o teatime (4 p.M.).

Questo strumento non viene preinstallato nella maggior parte delle distro Linux. Per installare, esegui il comando appropriato secondo la tua distribuzione.

Per debian/ubuntu e derivati.

$ Sudo apt install -y at


Per CentOS/RHEL e derivati.

$ yum installa a

Per arco linux e derivati.

$ sudo pacman -s a

Per fedora e derivati.

$ sudo dnf Installa a

Al termine dell'installazione, abilita il demone.

$ sudo systemctl abilita -ora atd.servizio


Il modo in lavoro è un po 'diverso. Ogni volta che si chiama, devi definire l'intervallo di esecuzione dell'attività desiderata. Ad esempio, per eseguire un determinato comando dopo un'ora, usa il comando seguente.

$ A questo ora + 1 ora


Per eseguire l'attività desiderata a 6 p.M., Tra sei giorni, esegui invece il seguente comando.

$ alle 18:00 + 6 giorni


Quando esegui il comando, a chiederà l'esecuzione dei comandi. Per uscire dal prompt AT, premere “Ctrl + D."A volontà presenterà un riepilogo delle attività programmate e il tempo in cui verranno eseguiti.

Questo è solo un utilizzo di base. Un modo più coerente di utilizzare AT potrebbe essere eseguito uno script bash contenente tutte le attività che devono essere eseguite. Interessato a saperne di più sugli script bash? Controllo

$ alle 18:00 + 6 giorni -ff


Esegui il comando per elencare tutti i lavori in sospeso.

$ atq


Si noti che l'output elencherà tutti i lavori con un numero di riferimento specifico nella colonna sinistra. Nel caso in cui desideri eliminare un lavoro in coda, usa il seguente comando.

$ atrm

Pensieri finali

Pianificare un'attività, nel caso di Linux, è un lavoro molto semplice. Imparare per la prima volta richiede sicuramente un po 'di sforzo. Tuttavia, una volta appreso, può essere incredibilmente utile. Una volta configurati, le attività programmate continueranno a funzionare.

Felice calcolo!