/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Baggrunds kørsel af script.
Fra : Rudi Hansen


Dato : 26-05-01 20:57

Jeg har lavet følgende script.

Men når jeg kører det med ./script& så er det som om der sker mærkelige
ting, nogen gange virker det, men ikke altid.

Desuden kan jeg se at hvis jeg logger af maskinen efter jeg har kørt
scriptet med & så kører det ikke videre, men er der noget med at baggrunds
job som standard er sat op til at stoppe hvis brugeren logger af, og i så
tilfælde er der noget man kan gøre for at undgå det?
-----------------Start backup------------
#!/bin/sh
# (c) '2001, Rudi Hansen 25.05.2001
#

# Skift til Backup dir.
cd /home/backup

# Tidspunkt for denne backup
n_tid=`date`

# Tidspunkt for denne backup gemmes til naeste gang
echo "$n_tid" > /home/backup/info/usr_backup_tid

# Backup alle usr filer.
tar -c -v -f /home/backup/usr_total_`date '+%y%m%d_%H-%M-%S'`.tar.gz \
-z \
/root /home/rsh /home/cxal /home/jfn /home/kms \
> /home/backup/info/usr_total_`date '+%y%m%d_%H-%M-%S'`.log





 
 
Klaus Alexander Seis~ (26-05-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 26-05-01 21:19

Rudi Hansen skrev:

> Men når jeg kører det med ./script& så er det som om der sker
> mærkelige ting, nogen gange virker det, men ikke altid.

Hvad er "mærkelige ting"?

Hvordan "virker det ikke"? Får du nogen fejlmeddelelser?

Prøv evt. at indsætte flg. i toppen af scriptet (nuvel, under linien
med hash-bang, forstås):

#v+
DEBUG=yes
LOGFILE="/my/nifty/backup.log"

[ "${DEBUG}" = "yes" ] && {
exec >${LOGFILE} 2>&1
echo "***"
echo "*** Backup start: $(date)"
echo "***"
}
#v-

> Desuden kan jeg se at hvis jeg logger af maskinen efter jeg har
> kørt scriptet med & så kører det ikke videre,

Start scriptet med "nohup".

> # Tidspunkt for denne backup
> n_tid=`date`
>
> # Tidspunkt for denne backup gemmes til naeste gang
> echo "$n_tid" > /home/backup/info/usr_backup_tid

Det ser ikke ud til at du bruger $n_tid mere, så du kan vel lisså
godt lave en

#v+
# Tidspunkt for denne backup gemmes til naeste gang
date > /home/backup/info/usr_backup_tid
#v-

i stedet. Og

> tar -c -v -f [···]

[GNU] tar kan klare alle parametrene i ét hug:

#v+
tar cvzf bimmelim.tar.gz /dir/et /dir/to ... /dir/n
#v-


// Klaus

--
><>°

Rudi Hansen (27-05-2001)
Kommentar
Fra : Rudi Hansen


Dato : 27-05-01 14:00

> #v+
> # Tidspunkt for denne backup gemmes til naeste gang
> date > /home/backup/info/usr_backup_tid
> #v-

Har det med #v+ og #v- nogen betydning?



Klaus Alexander Seis~ (27-05-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 27-05-01 15:21

Rudi Hansen skrev:

> Har det med #v+ og #v- nogen betydning?

Kun for læsningen og kun hvis man benytter slrn som newsreader.

Når slrn møder #v±, bliver den mellemliggende text sat med en anden
farve og linierne bliver ikke ombrudt hvis de er lange.


// Klaus

--
><>°

Rudi Hansen (27-05-2001)
Kommentar
Fra : Rudi Hansen


Dato : 27-05-01 14:06

Det ser ud som om at det kører nu, måske var årsagen til mine problemer at
jeg startede scriptet inde fra mc, og når jeg så forlod mc så blev scriptet
stoppet også.

Btw, kan du ikke lige forklare linie for linie hvad den debug kode du lavede
den betyder, jeg forstår godt linie 2 og 3, men hvad er resten?

>#v+
>DEBUG=yes
>LOGFILE="/my/nifty/backup.log"
>
>[ "${DEBUG}" = "yes" ] && {
> exec >${LOGFILE} 2>&1
> echo "***"
> echo "*** Backup start: $(date)"
> echo "***"
>}
>#v-




Klaus Alexander Seis~ (27-05-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 27-05-01 15:28

Rudi Hansen skrev:

> måske var årsagen til mine problemer at jeg startede scriptet inde
> fra mc, og når jeg så forlod mc så blev scriptet stoppet også.

Ja, det lyder helt bestemt som en fejlkilde.

> Btw, kan du ikke lige forklare linie for linie hvad den debug kode
> du lavede den betyder, jeg forstår godt linie 2 og 3, men hvad er
> resten?

>> [ "${DEBUG}" = "yes" ] && {

Hvis indholdet af variablen DEBUG er lig "yes", så...

>> exec >${LOGFILE} 2>&1

....omdirigér standard output [herfra og fremefter] til den fil hvis
navn er nagivet i variablen LOGFILE, og omdirigér ligeledes standard
error til samme fil.

>> echo "*** Backup start: $(date)"

Kan give fx "*** Backup start: Sun May 27 16:27:23 CEST 2001".


// Klaus

--
><>°

Hroi Sigurdsson (27-05-2001)
Kommentar
Fra : Hroi Sigurdsson


Dato : 27-05-01 18:00

Klaus Alexander Seistrup wrote:

> >> [ "${DEBUG}" = "yes" ] && {
>
> Hvis indholdet af variablen DEBUG er lig "yes", så...

Mere pædagogisk:

if [ "${DEBUG}" = "yes" ]; then
...
fi

--
Hroi Sigurdsson

Klaus Alexander Seis~ (27-05-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 27-05-01 18:24

Hroi Sigurdsson skrev:

>>>> [ "${DEBUG}" = "yes" ] && {
>
> Mere pædagogisk:
>
> if [ "${DEBUG}" = "yes" ]; then
> ...
> fi

Mere pædagogisk, ja, men jeg plejer ikke at benytte "if" i mine
scripts, med mindre der osse er et "else".


// Klaus

--
><>°

@pobox.dk (Dreamer) (27-05-2001)
Kommentar
Fra : @pobox.dk (Dreamer)


Dato : 27-05-01 03:06

>On Sat, 26 May 2001 21:56:55 +0200, "Rudi Hansen" <Rudi.Hansen@birkeland.dk> wrote:

>Jeg har lavet følgende script.
>
>Men når jeg kører det med ./script& så er det som om der sker mærkelige
>ting, nogen gange virker det, men ikke altid.

Den der linje skulle vel värt ./script & ?
{ med mellomrum mellom ./script og & }

>Desuden kan jeg se at hvis jeg logger af maskinen efter jeg har kørt
>scriptet med & så kører det ikke videre, men er der noget med at baggrunds
>job som standard er sat op til at stoppe hvis brugeren logger af, og i så
>tilfælde er der noget man kan gøre for at undgå det?

man nohup gir deg mer info,

Du kjörer

nohup ./script &

^D { log ud og lag litt mer kaffe }

{snip} Rudi's script

}
Dreamer.
--
mails can be sent to:
bsd {at} pobox.dk
--

Adam Sjøgren (27-05-2001)
Kommentar
Fra : Adam Sjøgren


Dato : 27-05-01 15:38

On Sun, 27 May 2001 02:05:37 GMT, bsd wrote:

>> Men når jeg kører det med ./script& så er det som om der sker
>> mærkelige ting, nogen gange virker det, men ikke altid.

> Den der linje skulle vel värt ./script & ? { med mellomrum mellom
> ./script og & }

(Det er nu ikke nødvendigt... :

virgil$ cat > testscript.sh
#/bin/sh
echo "Hej!"
virgil$ chmod a+x testscript.sh
virgil$ ./testscript.sh&
[1] 1866
virgil$ Hej!

[1]+ Done ./testscript.sh
virgil$ /bin/sh --version
GNU bash, version 2.04.0(1)-release (i386-pc-linux-gnu)
Copyright 1999 Free Software Foundation, Inc.
virgil$

modulo hvordan andre shells har det


Mvh.

--
"Som en blomst, en blomst og en honningbi Adam Sjøgren
Er vi tabt i bi-biologi" asjo@koldfront.dk

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408889
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste