GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire automaticamente script e comandi di avvio di Linux

Una delle fantastiche funzionalità dei sistemi Linux è la possibilità di modificarlo e configurarlo a proprio piacimento. L'utilità della riga di comando, comunemente denominata Terminale, consente agli utenti di passare comandi al kernel ed eseguire attività cruciali. È una delle tante funzionalità che fanno emergere la differenza tra Linux e altri sistemi operativi.

In questo post, sfrutteremo una delle potenti funzionalità di Linux:la possibilità di eseguire script/comandi e applicazioni automaticamente all'avvio. Questo processo viene eseguito per ottenere diverse cose. Può variare da attività semplici e divertenti come cambiare lo sfondo a cose complicate come il backup dei dati o la crittografia dei file.

Esecuzione di script Linux all'avvio

Iniziamo e diamo un'occhiata ai diversi metodi che possiamo utilizzare per automatizzare gli script e i comandi di avvio di Linux.

Metodo 1:utilizzare l'app GUI "Applicazioni di avvio"

La maggior parte dei metodi che esamineremo richiedono la riga di comando. Tuttavia, le distribuzioni basate su GNOME hanno una semplice utilità grafica che puoi usare. Le "Applicazioni di avvio". Viene preinstallato ed è uno strumento affidabile per gli utenti a cui non piace sporcarsi le mani sul Terminale.

1. Avvia 'Applicazioni di avvio' dal menu delle applicazioni.

2. In "Applicazioni di avvio" finestra principale, vedrai tre opzioni sulla destra; Aggiungi , Rimuovi e Modifica . Per creare il nostro primo script automatico, fai clic su "Aggiungi" pulsante.

3. Si aprirà una finestra pop. Immettere il nome dello script o del programma di avvio. Nella sezione dei comandi, inserisci il comando che desideri eseguire, pronuncia "sudo mkdir /home/tuts/Desktop/My-Test-Script .' In alternativa, puoi inserire il percorso completo del tuo script bash o del comando di sistema eseguibile nei vari 'bin ' directory.

Il comando sopra mi darà sempre una notifica sullo schermo per aggiornare il mio sistema dopo ogni avvio. Questo è solo un semplice esempio. Puoi scrivere script bash avanzati per eseguire varie attività. Se hai appena iniziato con lo scripting bash, guarda alcuni esempi di Bash For Loop qui.

Metodo 2:usa Cron Job

Cron è un demone Linux che esegue attività modificate dall'utente come specificato dall'utente. Queste attività pianificate vengono scritte nel file crontab. Indica al Cron quali lavori eseguire a che ora e in quali eventi.

Il formato base di un file crontab è:

[minuto] [ora] [GiornoMese] [MeseAnno] [GiornoSettimana] [lo script che vuoi eseguire].

Tuttavia, per eseguire gli script all'avvio, utilizzeremo @reboot parametro. Se tutto ciò ti suona nuovo, leggi il nostro articolo su Crontab in Linux spiegato con esempi.

Per iniziare, aggiungi un nuovo lavoro cron, esegui il comando seguente sul Terminale.

$ crontab -e

Se non l'hai mai fatto prima, vedrai un'opzione per scegliere il tuo editor predefinito, come mostrato di seguito. Consiglierei nano dal momento che è molto semplice e diretto. Nel mio caso qui, inserirò '1.'

Scriveremo un semplice script che creerà una nuova directory sul desktop all'avvio.

SHELL=/bin/bash
@reboot sleep 30 && DISPLAY=:0 My-Test-Directory

Metodo 3:usa /rc.local

Un altro metodo per eseguire script e comandi all'avvio consiste nell'utilizzare il file /rc.local. Per iniziare, esegui il comando seguente sul Terminale.

sudo nano /etc/rc.local

Questo comando aprirà il file rc.local nell'editor nano. Se non fosse presente, ne creerebbe uno. Inserisci i tuoi comandi tra #! /bin/bash e uscita 0 Linee. Puoi anche fornire il percorso completo del tuo script bash qui.

#! /bin/bash
//path-to-your-bash-script
exit 0

Ora dobbiamo creare il /rc.local file eseguibile. Esegui il comando seguente:

sudo chmod +x /etc/rc.local

Al termine, riavvia il PC e vedrai che le modifiche avranno effetto.

Metodo 4:Systemd

Systemd è una suite di software che contiene varie utilità per gestire i servizi di sistema e i processi del sistema operativo. Il systemd avvia servizi e processi all'avvio.

Possiamo usare Systemd per automatizzare i nostri script e comandi all'avvio. Creiamo e automatizziamo un programma per avvisarci di aggiornare il sistema utilizzando Systemd.

Per iniziare, prendiamo la cartella e il file richiesti in cui scriveremo i nostri comandi. Esegui i comandi seguenti:

$ mkdir -p ~/.config/systemd/user
$ nano ~/.config/systemd/user/update-notifier.service

Dopo il secondo comando, si aprirà il nano editor, incolla qui i comandi qui sotto.

[unit]
Description=Reminder to Update System
PartOf=graphical-session-target

[Service]
ExecStart=bash -c 'sleep 10; notify-send "Please, Update your System Now"
Type=oneshot

[Install]
WantedBy=graphical-session.target

Questi comandi sono piuttosto semplici. Il sistema invierà il "Promemoria di aggiornamento" 10 secondi dopo il caricamento della sessione grafica dopo l'avvio.

Ora, per assicurarci che lo script venga caricato dopo ogni avvio, dobbiamo renderlo eseguibile. Esegui i comandi seguenti.

$ chmod 644 ~/.config/systemd/user/update-notifier.service
$ systemctl --user enable update-notifier.service
$ systemctl --user daemon-reload
$ reboot

Questo è un modo semplice per automatizzare gli script con Systemd all'avvio. Il metodo sopra esegue script che non richiedono l'accesso come root. Se vuoi creare uno script che richiede l'accesso come root, crea un servizio systemd in “/etc/systemd/system” cartella invece di “~/.config/systemd/user” directory. Inoltre, dovrai omettere la parola 'utente' incluso nel comando precedente.

Conclusione

Questi sono quattro metodi che puoi utilizzare per eseguire automaticamente gli script e i comandi di avvio di Linux all'avvio. Se stai creando script semplici che non richiedono autorizzazioni elevate per l'esecuzione, ti consiglio di utilizzare l''Applicazione di avvio' App GUI o un semplice lavoro cron. Se i tuoi script richiedono l'accesso come root, prendi in considerazione la creazione di un Systemd servizio.


Linux
  1. Come eseguire automaticamente comandi/script durante il riavvio o l'avvio

  2. Come disabilitare i comandi di spegnimento e riavvio in Linux

  3. Che cos'è un comando Chown in Linux e come usarlo

  4. Come salvare i comandi Linux e usarli su richiesta

  5. Comandi Linux:job, bg e fg

Come richiamare facilmente i comandi Linux dimenticati

Come utilizzare i comandi Pbcopy e Pbpaste su Linux

Come controllare la cronologia dei comandi di Linux in base alle date

Come installare e utilizzare il comando locate in Linux

Come utilizzare il comando echo negli script Bash in Linux

Come installare e utilizzare il comando fd in Linux