|
| 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
| |
|
|