The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
mens loop inne mens loop panknil Shell programmering og Skripting 0 01-07-2008 12:49
For loop xramm HP-UX 3 10-10-2007 03:20
Mens Loop hemangjani Shell programmering og Skripting 2 11-02-2006 11:01
for loop munnabhai1 Shell programmering og Skripting 3 04-06-2006 03:30
hvordan du får lignende funksjon i mens loop eller sløyfe trynew Shell programmering og Skripting 3 06-17-2002 12:09

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 03-17-2008
rsullivan rsullivan is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Innlegg: 1
sh loop Trenger du hjelp

Hei,

Jeg har følgende skript som utfører en sikkerhetskopi via cpio til en NFS mount. Problemet er at jeg bare ser ut til å bli root. Jeg er ikke sikker på hva jeg gjør galt her, men det fungerer ikke. Følgende er hele skriptet. Jeg har markert de områdene hvor jeg tror jeg har et problem eller er minst relevant, tror jeg.

#! / bin / sh
#
# Set konfigurasjon variabler
#
NFSMOUNT \u003d '/ mnt /nfs'
BACKUP_LOG \u003d '/ usr / local / backup_logs'
EXCLUDE_FS \u003d '/ mnt /nfs'
HARDWARE_LOG \u003d '/ var / ADM / meldinger "

eksport NFSMOUNT BACKUP_LOG EXCLUDE_FS HARDWARE_LOG

# Få dato i MMDDÅÅ format
Dmy \u003d `date +% m% d% Y`

Hvis [! -d $ (BACKUP_LOG)-o! -w $ (BACKUP_LOG)]; deretter
echo "$ (BACKUP_LOG) eksisterer ikke eller er ikke skrivbar"
exit 1
fi

echo "# # # Backup starter på` dato `"
# LOG_START er antall linjer i vår maskinvare logg
# Når backup begynte. Vi er ikke opptatt av noe
# Som skjedde før nå.
LOG_START \u003d `wc-l <$ (HARDWARE_LOG)`
# Strip ledende og etterfølgende mellomrom

LOG_START \u003d `expr $ (LOG_START)`

BACKUPTYPE \u003d "cpio"

# Få oversikt over UNIX-filsystemer å sikkerhetskopiere
MOUNTEDSYSTEMS \u003d `df-F UFS | cut-d ''-f1 | sort`

# Fjern ekskludert filsystemer fra liste
for FS i $ MOUNTEDSYSTEMS
gjøre
case "$ (EXCLUDE_FS)" i
# Hvis utelatt gjøre ingenting
* "$ (FS) "*);;
# Legg til oppføring til listen
*) Case "$ (filsystemer)" i
# Er tom så dette er den første oppføringen
'') Filsystemer \u003d "$ (FS)";;
# Listen inneholder oppføringer så føyer til liste
*) Filsystemer \u003d "$ (filsystemer) $ (FS)";;
esac;;
esac
ferdig

cd /
Hvis [ "$ BACKUPTYPE" \u003d "dump"], og
# Backup bruker dump
for FS i $ (filsystemer)
gjøre
echo "dumping $ (FS) $ (NFSMOUNT)" | \
tee-a $ (BACKUP_LOG) / bu.ufsdump. $ (dmy)
/ usr / sbin / ufsdump 0fu $ (NFSMOUNT) $ (FS) 2> & 1 | \
# Vi bare opptatt av de to siste linjene i produksjon
# for å fastslå om dette var et vellykket dump
tee-a $ (BACKUP_LOG) / bu.ufsdump. $ (dmy) | halen -3

# Count fylling av filsystem
FS_COUNT \u003d `expr $ (FS_COUNT) + 1`
ferdig
ellers

# Backup bruke cpio
for FS i $ (filsystemer)
gjøre
echo "Skrive cpio arkiv av $ (FS) til $ (NFSMOUNT)" | \
tee-a $ (BACKUP_LOG) / bu.cpio. $ (dmy). ERR \
>> $ (BACKUP_LOG) / bu.cpio. $ (Dmy)

# Utdataene for finner alltid vil være relativt til roten
finne. $ (FS)-print-xdev | \

# Bruk sed å endre. "/" til "/" så Solaris cpio vil ikke bark
sed -e 's / ^ \. \ / $ / \ / / "| \
cpio-OC-O $ (NFSMOUNT) / `hostname`. $ (dmy) \
2>> $ (BACKUP_LOG) / bu.cpio. $ (Dmy). ERR \
1>> $ (BACKUP_LOG) / bu.cpio. $ (Dmy)

# Telle cpio arkiv av filsystem
FS_COUNT \u003d `expr $ (FS_COUNT) + 1`
ferdig

cat $ (BACKUP_LOG) / bu.cpio. $ (dmy). ERR
fi

# Display filsystem som akkurat ble sikkerhetskopiert
echo "# # # tiden montert filsystemer:"
df-k $ (filsystemer)
echo "###"

LOG_END \u003d `wc-l <$ (HARDWARE_LOG)`
# Strip ledende og etterfølgende mellomrom
LOG_END \u003d `expr $ (LOG_END)`
Hvis [ "$ (LOG_BEGIN)"-ne "$ (LOG_END)"]; deretter
# Rapporter feil i loggen under backup
# Legge til flere grep linjer å fjerne normal meldinger vises i
# System logging script
echo "# # # systemloggene generert under backup:"
cat $ (HARDWARE_LOG) | \
sed -e "1, $ (LOG_START) d" | \
grep-v "koble fra" | \
grep v "nektet tilkobling fra« | \
nawk '(print substr ($ 0,1,78)); \
lengde> 78 (print "" substr ($ 0,79)) "

echo "###"
fi
# Fjern gamle loggfiler
Hvis [ "$ (BACKUPTYPE)" \u003d "cpio"], og
cd $ (BACKUP_LOG)
finne. -mtime +14-følgemønstre exec rm () \;
ls-lt $ (BACKUP_LOG) / *
ekko
fi

echo "Backup fullført på" `dato`
 

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 04:39.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0