Pagina 1 di 1

[Risolto] [BASH] script in avvio che rimanga in background

Inviato: venerdì 29 febbraio 2008, 10:42
da Wolfetti
Salve a tutti!
Premetto che sono un ignorante in scripting bash :-[ (purtroppo non ho tempo di impararlo bene anche se mi piacerebbe :'() ,
quindi se scrivo cappellate,non massacratemi! ;D
spiego il problema:
ho creato questo script bash che mi consente di ottenere in automatico gli aggiornamenti di sistema:

Codice: Seleziona tutto

#!/bin/bash

# Script che esegue l'aggiornamento automatico del sistema...
echo -e "\nStarting autoupdate..."
sleep 5m;
# Scarico la lista degli aggiornamenti e se non sono presenti le chiavi GPG le scarico
apt-get update 2> /tmp/keymissing;
for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //");
do
	echo -e "\nProcessing key: $key";
	gpg --keyserver subkeys.pgp.net --recv $key && gpg --export --armor $key | sudo apt-key add -;
done
# Finalmente aggiorno
apt-get -y upgrade;
# Se qualcosa non va la fixo
apt-get -f install;
# Svuoto la cartella /var/cache/apt/
apt-get clean;
# Bye bye!
echo -e "\nBye!";
però ho un problema:
se lo metto in avvio mi aspetta 5 minuti prima che il sistema parta...mentre quello che voglio fare io è che lo script aspetti 5 minuti in background  mentre tutti gli altri servizi partono,quindi esegua il tutto e alla fine si chiuda...
Grazie della disponibilità !

Re: [BASH] script in avvio che rimanga in background

Inviato: sabato 1 marzo 2008, 3:18
da Volans
Scusa la domanda ma come mai vuoi farlo a mano con uno script e non usare l'aggiornamento automatico?
Mi sembra che tutte le operazioni che fai puoi impostarle da Sistema -> Sorgenti Software nel tab Aggiornamenti. ;)

Re: [BASH] script in avvio che rimanga in background

Inviato: sabato 1 marzo 2008, 15:21
da Wolfetti
lo devo far girare su un server... che ogni tot giorni spento e viene riavviato il giorno dopo
quindi niente x ;D

Re: [BASH] script in avvio che rimanga in background

Inviato: sabato 1 marzo 2008, 20:36
da paper0k

Codice: Seleziona tutto

#! /bin/bash

demone() {
	echo "Sono ancora attivo :-)"
}

( sleep 10 && demone )&
;)

Re: [BASH] script in avvio che rimanga in background

Inviato: domenica 2 marzo 2008, 22:43
da Wolfetti
Grazie per la dritta! ;D
Quindi il mio script dovrebbe diventare così:

Codice: Seleziona tutto

#! /bin/bash
echo -e "\nStarting autoupdate..."
demone() {
    # Scarico la lista degli aggiornamenti e se non sono presenti le chiavi GPG le scarico
    apt-get update 2> /tmp/keymissing;
    for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //");
    do
	    echo -e "\nProcessing key: $key";
	    gpg --keyserver subkeys.pgp.net --recv $key && gpg --export --armor $key | sudo apt-key add -;
    done
    # Finalmente aggiorno
    apt-get -y upgrade;
    # Se qualcosa non va la fixo
    apt-get -f install;
    # Svuoto la cartella /var/cache/apt/
    apt-get clean;
}
( sleep 5m && demone )&
ma ho un ultimo dubbio: così praticamente ogni 5 minuti lo script si ripete... oppure una volta che ha fatto il tutto si chiude?

Re: [BASH] script in avvio che rimanga in background

Inviato: domenica 2 marzo 2008, 23:02
da Wolfetti
Mi rispondo da solo: lo fa una volta sola...Grazie a tutti per l'aiuto! :-* (good)