Newsgroup: it.comp.os.linux.debian
Titolo: Aiuto per script da eseguire all'arresto o al reboot del sistema

Ciao a tutti,
Avrei bisogno che il mio serverino al reboot o al riavvio del sistema esegua
uno script che rimuove alcuni file (semplicemente un "rm file1 file2
file3 ...")
Ho pensato che potrei inserire lo script in /etc/init.d e fare manualmente i
link in /etc/rc0.d e /etc/rc6.d, solo che ho letto che in debian ci sono
alcuni comandi che manipolano gli script di avvio, e non vorrei che i miei
interventi "manuali" creino qualche pasticcio.
Avete suggerimenti su come dovrei fare la cosa in "stile debian"?
grazie a tutti
ciao
gerlos
-- 
"Solo lo scienziato è vero poeta: ci dà la luna, ci promette le stelle,
 ci farà un nuovo universo se sarà il caso."
                 < 
http://gerlos.altervista.org
 >
 gerlos  +- - - >  gnu/linux registred user #311588

 interventi "manuali" creino qualche pasticcio.
Non creano pasticci, tranquillo. E' però opportuno seguire un paio di regole:
Innanzitutto utilizza come schema uno script esistente, per esempio cron.
Metti le intestazioni perché in futuro verranno usate per accelerare e
gestire in modo asincrono l'avvio di Linux.
#!/bin/sh
# Start/stop the cron daemon.
#
### BEGIN INIT INFO
# Provides:          cron
# Required-Start:    $syslog $time
# Required-Stop:     $syslog $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Regular background program processing daemon
# Description:       cron is a standard UNIX program that run user-specified
#                    programs at periodic scheduled times. vixie cron adds a
#                    number of features to basic UNIX cron, including better
#                    security and more powerful configuration options.
### END INIT INFO
Poi scrivi i tuoi comandi (gestisci sia start che stop) e se devi
visualizzare messaggi usa le apposite funzioni log_*_msg ecc. che trovi nel
file /lib/lsb/init-functions (di cui devi fare il source).
Poi per la gestione dei link puoi a tua discrezione usare update-rc.d o il
grafico sysv-rc-conf. Nel primo caso una cosa così:
update-rc.d mioscript defaults
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 
In Debian lo script che esegue comandi all'avvio e' gia' predisposto, si 
tratta solo di inserirgli dentro i comandi che ti occorrono.
Si chiama /etc/rc.local
G.

stragatto ha scritto:

Ehm... mi sono spiegato male... scusami... mi serve che i comandi vengano
eseguiti subito *prima* dell'arresto del sistema, che sia per spegnere o
riavviare il PC.
grazie lo stesso


 regole:
Fatto! 
Grazie infinite per le dritte. Ecco lo script che ho messo insieme. È ok,
oppure ho fatto qualche stupidata?
,----[ /etc/init.d/rm-some-files ]
| #!/bin/sh
| # Delete some files at system shutdown
| #
| ### BEGIN INIT INFO
| # Provides:          rm-some-files
| # Required-Start:
| # Required-Stop:
| # Default-Start:     0 1 6
| # Default-Stop:
| # Short-Description: Delete some files at system shutdown
| # Description:       Delete some files at system shutdown
| ### END INIT INFO
| 
| 
| . /lib/lsb/init-functions
| 
| case "$1" in
| start)  log_daemon_msg "Rimuovo alcuni file" "rm"
|         rm /path/to/file1 /path/to/file2 /path/to/file3 /path/to/file4
|         log_end_msg $?
|         ;;
| *)      log_action_msg "Usage: /etc/init.d/rm-some-files {start}"
|         exit 2
|         ;;
| esac
| exit 0
`----
grazie ancora!


 | *)      log_action_msg "Usage: /etc/init.d/rm-some-files {start}"
Personalmente lo gestirei all'opposto, ovvero farei la rimozione in
occasione dello stop in 0 1 6 e specificherei di non far nulla in start.
Inoltre redirigi l'output di rm su /dev/null.
,----[ /etc/init.d/rm-some-files ]
| #!/bin/sh
| # Delete some files at system shutdown
| #
| ### BEGIN INIT INFO
| # Provides:          rm-some-files
| # Required-Start:
| # Required-Stop:
| # Default-Start:
| # Default-Stop:      0 1 6
| # Short-Description: Delete some files at system shutdown
| # Description:       Delete some files at system shutdown
| ### END INIT INFO
|
|
| . /lib/lsb/init-functions
|
| case "$1" in
| start)  : ;;
| stop)   log_daemon_msg "Rimuovo alcuni file" "rm"
|         rm /path/to/file1 /path/to/file2 /path/to/file3 > /dev/null 2>&1
|         log_end_msg $?
|         ;;
| *)      log_action_msg "Usage: /etc/init.d/rm-some-files {start|stop}"
|         exit 2
|         ;;
| esac
| exit 0
`----
-- 


 Inoltre redirigi l'output di rm su /dev/null.
Gaazie ancora, in effetti facendo come suggerisci è anche più facile da
gestire usando il comando update-rc.d!
