![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| while lus in while lus | panknil | Programmeren en Shell Scripting | 0 | 01-07-2008 12:49 |
| Lus | xramm | HP-UX | 3 | 10-10-2007 02:20 PM |
| Terwijl Loop | hemangjani | Programmeren en Shell Scripting | 2 | 11-02-2006 11:01 |
| lus | munnabhai1 | Programmeren en Shell Scripting | 3 | 04-06-2006 02:30 PM |
| hoe je de vergelijkbare functie in while lus of lus | trynew | Programmeren en Shell Scripting | 3 | 06-17-2002 11:09 |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
||||
|
sh lus Need some help
Hoi,
Ik heb de volgende script dat betekent een backup via cpio naar een NFS mount. Het probleem is dat ik alleen maar lijken te zijn om root. Ik weet niet zeker wat doe ik hier verkeerd, maar het werkt niet. Hieronder ziet u het hele script. Ik heb gewezen op de gebieden waar ik denk dat ik een probleem hebben of op zijn minst van toepassing is, denk ik. ![]() #! / bin / sh # # Stel configuratie variabelen # NFSMOUNT \u003d '/ mnt /nfs' BACKUP_LOG \u003d '/ usr / local / backup_logs' EXCLUDE_FS \u003d '/ mnt /nfs' HARDWARE_LOG \u003d '/ var / adm / messages' uitvoer NFSMOUNT BACKUP_LOG EXCLUDE_FS HARDWARE_LOG # Haal datum in MMDDJJ formaat DMY \u003d `date +% m% d% y" if [! -d $ (BACKUP_LOG)-o! -w $ (BACKUP_LOG)], vandaar echo "$ () BACKUP_LOG bestaat niet of is niet schrijfbaar" afrit 1 fi echo "# # # Backup vanaf` date `" # LOG_START is het aantal lijnen in onze hardware log # Als de back-up begon. We zijn niet bezig met iets # Die vóór nu. LOG_START \u003d `wc-l <$ (HARDWARE_LOG)" # Strip toonaangevende en naloopspaties LOG_START \u003d `expr $ () LOG_START" Up \u003d "cpio" # Get lijst van Unix-bestandssystemen om een back-up MOUNTEDSYSTEMS \u003d "df-F UFS | cut-d ''-f1 | sort" # Verwijder uitgesloten bestandssystemen uit lijst voor FS in $ MOUNTEDSYSTEMS doen case "$ (EXCLUDE_FS)" in # Als zijn uitgesloten niets * "$ (FS) "*);; # Item toevoegen aan de lijst *) Case "$ (Filesystems)" in # Lijst is leeg dus dit is de eerste binnenkomst '') Filesystems \u003d "$ (FS)"; # Lijst bevat vermeldingen zo voegt naar de lijst *) Filesystems \u003d "$ (Filesystems) $ (FS)"; esac; esac gedaan cd / if [ "$-up" \u003d "dump"], vandaar # Back-up gebruik van dump voor FS in $ () Filesystems doen echo "$ (dumpingcode FS) $ (NFSMOUNT)" | \ tee-a $ (BACKUP_LOG) / bu.ufsdump. $ () DMY / usr / sbin / ufsdump 0fu $ (NFSMOUNT) $ (FS) 2> & 1 | \ # We alleen bezig met de laatste twee regels van de output # om te bepalen of dit een succesvolle dump tee-a $ (BACKUP_LOG) / bu.ufsdump. $ (DMY) | tail -3 # Count dumpen van bestandssysteem FS_COUNT \u003d `expr $ (FS_COUNT) + 1" gedaan anders # Back-up met behulp van cpio voor FS in $ () Filesystems doen echo "Schrijven cpio archief van $ (FS) naar $ (NFSMOUNT)" | \ tee-a $ (BACKUP_LOG) / bu.cpio. DMY $ (). err \ >> $ (BACKUP_LOG) / bu.cpio. $ (DMY) # De output van vinden zal altijd ten opzichte van de root vinden. $ () FS-print-xdev | \ # Gebruik sed te veranderen. "/" terug naar "/" zo Solaris cpio niet blaffen sed -e 's / ^ \. \ / $ / \ / /' | \ cpio-oc-O $ (NFSMOUNT) / "hostname". DMY $ () \ 2>> $ (BACKUP_LOG) / bu.cpio. DMY $ (). Err \ 1>> $ (BACKUP_LOG) / bu.cpio. $ (DMY) # Tellen cpio archief van bestandssysteem FS_COUNT \u003d `expr $ (FS_COUNT) + 1" gedaan cat $ (BACKUP_LOG) / bu.cpio. DMY $ (). err fi # Display bestandssysteem informatie die was gewoon een back-up echo "# # # moment gemounte bestandssystemen:" df-k $ () Filesystems echo "###" LOG_END \u003d `wc-l <$ (HARDWARE_LOG)" # Strip toonaangevende en naloopspaties LOG_END \u003d `expr $ () LOG_END" if [ "$ (LOG_BEGIN)"-ne "$ (LOG_END)"]; vervolgens # Rapport fouten in logboek tijdens backup # Grep extra lijnen te verwijderen normale berichten worden weergegeven in uw # Systeem logging script echo "# # # Systeem logs die tijdens back-up:" cat $ () HARDWARE_LOG | \ sed -e ", 1, $ (LOG_START) d" | \ grep-v "connect from" | \ grep v "geweigerd verbinding uit" | \ nawk '(print substr ($ 0,1,78)); \ lengte> 78 (print "" substr ($ 0,79)) ' echo "###" fi # Verwijder oude logboekbestanden if [ "$ (up)" \u003d "cpio"], vandaar cd $ () BACKUP_LOG zoeken. -mtime +14-follow-exec rm () \; ls-lt $ BACKUP_LOG () / * echo fi echo "Backup Afgewerkt bij" `date` |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|