Come faccio a impostare uno script che verrà eseguito all'avvio in FreeBSD?


10

Sto usando FreeBSD 9 e voglio fare uno script che verifichi se un cavo Ethernet è collegato e, in tal caso, si collega ad esso. Voglio impostarlo in modo che funzioni ogni volta che si avvia la macchina o ogni volta che eseguo l'accesso. Ho guardato il mio libro UNIX (è piuttosto obsoleto, ed è per UNIX generale, non specificamente FreeBSD) e dice che posso usare crontab, ma posso farlo solo per far funzionare le cose in determinati momenti, non quando si avvia. Qualcuno può dirmi come posso arrivare a questo?

Risposte:


11

FreeBSD croncapisce la @rebootdirettiva temporale, quindi puoi davvero croneseguire il tuo script all'avvio. Invece dei soliti 5 campi temporali, la tua crontabvoce potrebbe apparire così:

@reboot /path/to/script

Se anche voi volete eseguire il controllo quando si accede, aggiungere una chiamata allo script nel file vostre esegue shell al login - questo potrebbe essere, a seconda della shell, ~/.login, ~/.bash_login, etc.


4

Su FreeBSD 11 per ARMv6 (Raspberry Pi), non sono riuscito a far funzionare la @rebootdirettiva crontab per l'utente root e il /etc/rc.localmetodo "aggiungi script al file" è stato sostituito da un meccanismo che esegue automaticamente gli script all'interno /usr/local/etc/rc.d/.

In altre parole, per eseguire uno script all'avvio su FreeBSD 11 (o 10?) E probabilmente più recente, posiziona uno script shell eseguibile con l' estensione .sh in questa cartella per farlo eseguire all'avvio:

/usr/local/etc/rc.d/

Potrebbe essere necessario creare la rc.dcartella se non esiste.

Vedi http://www.defcon1.org/html/rc-local.html per i dettagli.


3

Un'altra soluzione per lo script di avvio sarebbe /etc/rc.local.


1
Anche se man rcdice "In genere, il meccanismo /usr/local/etc/rc.d/ viene utilizzato al posto di rc.local in questi giorni ma se si desidera utilizzare rc.local, è comunque supportato. In questo caso, dovrebbe essere sorgente / etc / rc.conf e contengono un codice di avvio personalizzato aggiuntivo per il tuo sistema. Il modo migliore per gestire rc.local, tuttavia, è separarlo in script rc.d / style e posizionarli in / usr / local / etc / rc .d /."
Zezollo,
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.