The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



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

Closed Thread
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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 05-26-2009
droppedonjapan droppedonjapan is offline
Registreret Bruger
  
 

Join Date: May 2008
Stillinger: 8
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?
  #2 (permalink)  
Old 05-26-2009
in2nix4life's Avatar
in2nix4life in2nix4life is offline
Registreret Bruger
  
 

Join Date: oktober 2007
Beliggenhed: East Coast
Stillinger: 58
Hvis dette er en Bash shell script du kan prøve at "vente" kommandoen.

Se mere her -- Job Control Kommandoer

Hope this helps.
  #3 (permalink)  
Old 05-26-2009
jaysunn's Avatar
jaysunn jaysunn is offline
Registreret Bruger
  
 

Join Date: May 2009
Stillinger: 22
Jeg kan godt lide at bruge en lock-fil. På denne måde vil scriptet løkken indtil låse filen er borte end re køre:
Code:
#
# create name for lock file
#
lockDir="/root/lock_files"
lockFilePath="$lockDir/file.lock"
#
#
#
# Loop through servers until file is no longer exists
#  
while [ -e "$lockFilePath" ]
do

   exit
done
#
#
#
# create new lock file
#
touch $lockFilePath
#
#
#
# loop through servers and sync docroots and code
#
/usr/bin/rsync  --stats -e ssh -rlvtgoDz --delete  /dir/dir/dir/ root@server:/dir/dir/dir/ &
#
#
#
# Remove lock file........
#
rm -f $lockFilePath

Vær sikker på at indstille ssh-nøgler. Dette er kørt på en Red Hat-system.

Held og lykke
  #4 (permalink)  
Old 05-28-2009
droppedonjapan droppedonjapan is offline
Registreret Bruger
  
 

Join Date: May 2008
Stillinger: 8
Citat:
Oprindeligt Indsendt af in2nix4life View Post
Hvis dette er en Bash shell script du kan prøve at "vente" kommandoen.
Af en eller anden grund vente kommandoen ikke virker i henhold til den dokumentation, som du gav mig. Jeg har prøvet bare at gøre dette ...

Code:
rsync -urza -e "ssh -i rsync-key -l username -p xxxx" /filepath/filename.zip webserv:/filepath/

wait
Og det venter ikke på alle.

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
Så vidt jeg kan sige, det starter ud at fortælle, hvor låsen mappe og fil er. Så kan du sige, hvis den låst filen findes, så hvis den gør, så afslut scriptet. Så hvis det ikke er der, så du trykker på den fil (og dermed skabe en tom fil, hvis min "touch" viden er korrekt), og derefter starter rsync i en baggrund proces. Når det begynder at gøre rsync, så det fjerner låsen filen.

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.
  #5 (permalink)  
Old 06-01-2009
df d.f. is offline
Registreret Bruger
  
 

Join Date: Nov 2006
Stillinger: 5
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
Fra bash man-side, er "Command2 henrettet, hvis, og kun hvis, Command1 returnerer en exit status på nul."

Altså, noget du måske kunne bruge ville være:

Code:
rsync -options file.xx remotehost:/path/to/store && rm file.xx
Den gotcha her er, at rsync kan mislykkes af et par forskellige årsager, og hvis den gør, vil den anden kommando ikke køre.
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 08:03 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0