Come creare uno script di avvio init.d


8

Voglio solo eseguire un comando molto semplice all'avvio. Come lo posso fare? Ho cercato su Google e ha esempi molto complicati, ma quello di cui ho bisogno è solo eseguire questo script all'avvio. Come lo posso fare?

copione

./init.d/opscenter-agent start

Risposte:


8

Se si desidera eseguire questa operazione come avvio del sistema (al contrario di quando si accede al computer), inserire i comandi in cui si desidera eseguire /etc/rc.local.

Vedi [Ubuntu] Esecuzione di uno script all'avvio e allo spegnimento .


L'OP ha specificamente richiesto uno script init.d, cosa che in realtà non è. È un approccio correlato, principalmente in virtù del modo in cui abbiamo fatto le cose 30 anni fa, e più o meno non lo facciamo mai ora grazie a approcci più recenti come init.d. (che a sua volta è deprecato a favore di systemd's / etc / init).
mc0e,

3

Se non è necessario che lo script sia eseguito da root, puoi farlo:

1) Apri "Preferenze applicazioni di avvio" ( Alt+ F2e incolla gnome-session-propertiese premi Enter),

2) Premi "Aggiungi" e seleziona il tuo script:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


Se non si utilizza un ambiente grafico, è possibile inserire i comandi appena prima della riga exit 0in questo file: /etc/rc.local. (Per modificarlo basta incollare al terminale sudo nano /etc/rc.local.


Non va bene dato che sto usando Putty per gestire il server Debian, nessuna GUI :)
sed

Puoi inserire i comandi (o un link al tuo script) in questo file:/etc/rc.local
desgua

Questa è un'alternativa allo script init.d richiesto dall'OP.
mc0e,

1

L'approccio /etc/rc.local "eseguirà un comando molto semplice all'avvio", ma non è un approccio di script init.d ed è per molti versi inferiore. (Potrebbe non importare, a seconda del tuo scopo).

A differenza degli script init.d, i comandi rc.local non offrono un'interfaccia standard per l'avvio e l'arresto di un processo e non offrono molta capacità di influenzare durante l'esecuzione del processo di avvio. Puoi vedere nello /etc/init.d/rc.localscript che questo viene eseguito dopo tutto il resto ( Required-Start: $all).

Se uno script init.d è davvero quello che vuoi, di solito basta catturare uno script esistente, copiarlo e modificarlo funziona bene, anche se alcuni degli script esistenti hanno una complessità maggiore di quella che desideri. Dato che è così che inizia la maggior parte degli script init.d, Ubuntu fornisce /etc/init.d/skeleton per questo scopo.

Vale anche la pena dare un'occhiata:

  • /etc/init.d/motdè un esempio minimo che esegue qualcosa all'avvio, ma con l' Required-Startimpostazione dei parametri quando dovrebbe accadere.
  • /etc/init.d/cronè un semplice punto di partenza per un processo daemon (dare o prendere la parse_environmentfunzione, che probabilmente non è necessaria).
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.