![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| pause () problemer | IdleProc | UNIX for dummyer Spørgsmål & svar | 1 | 03-17-2009 06:21 PM |
| Pause på svar fra logfilen | gxdanh | Shell Programmering og Scripting | 3 | 10-24-2008 12:52 PM |
| Rsync script i cron fra trædes på sig selv | sunsysadm2003 | Shell Programmering og Scripting | 3 | 04-30-2008 12:14 PM |
| pause? Hvor er du? | 01000101 | Højtstående Programmering | 3 | 05-15-2006 08:42 PM |
| hvordan man kan pause en anden proces? | daneensign | UNIX for dummyer Spørgsmål & svar | 1 | 02-14-2006 12:27 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Script Pause Indtil Rsync Is Done Overførsel
Okay, Jeg har dette script, der trækker filer fra et par steder, proces disse filer, opretter en zip-fil, rsync er det, og derefter fjerner alt.
Det problem, at jeg har, er, at jeg ikke ved, hvor stor den rsync'ed zip-fil vil blive. Lige nu er jeg bruger en sove-kommando, før jeg fjerne alle de filer og mapper oprettet, men jeg er utilpas i at overlade det sådan her. Alt det ville tage ville være en stor fil, at det skal rsync og scriptet vil slette filen, før det er gjort overføres. Så er der en måde at have scriptet kontrollere forløbet af rsync? Hvis ikke, hvordan ville jeg gå ud på at gøre noget i denne retning? |
|
|||||
|
Hvis dette er en Bash shell script du kan prøve at "vente" kommandoen.
Se mere her -- Job Control Kommandoer Hope this helps. |
|
||||
|
Citat:
Code:
rsync -urza -e "ssh -i rsync-key -l username -p xxxx" /filepath/filename.zip webserv:/filepath/ wait Hvad angår lockfile, jeg er ikke sikker på, hvad det script gør, præcis. Code:
lockDir="/root/lock_files" lockFilePath="$lockDir/file.lock" while [ -e "$lockFilePath" ] do exit done touch $lockFilePath /usr/bin/rsync --stats -e ssh -rlvtgoDz --delete /dir/dir/dir/ root@server:/dir/dir/dir/ & rm -f $lockFilePath Jeg kunne se noget arbejde, hvis du har lavet scriptet kalde sig før, mens erklæring, men jeg ved ikke, hvordan dette vil forbedre min situation. Normalt mit script så fjerner de filer, der rsync'ed, så selvom jeg kaldte dette script eksternt, ville kommandoen rm gå igennem lige så snart dette script færdig, a la ligesom rsync starter. Og jeg virkelig behøver ikke at rsync flere filer, kun én. Alle andre ideer / forslag? (Tak for det, jeg hidtil har, ved den måde. )EDIT: Og jeg kører alt dette på et Red Hat system. Glemte at inkludere det tidligere. |
|
||||
|
Hvis jeg har forstået dette rigtigt, er du på udkig efter en måde at sikre, at rsync fuldført med succes inden vi går videre til resten af dit script. bash vil give dig mulighed for at gøre dette med '& &' operatør (i dette tilfælde rsync er Command1):
Code:
command1 && command2 Altså, noget du måske kunne bruge ville være: Code:
rsync -options file.xx remotehost:/path/to/store && rm file.xx |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|