The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

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
pause () problemer IdleProc UNIX for Dummies Spørsmål og svar 1 03-17-2009 06:21
Pause på svar fra loggfilen gxdanh Shell programmering og Skripting 3 10-24-2008 12:52
Rsync skript i cron fra stepping på seg selv sunsysadm2003 Shell programmering og Skripting 3 04-30-2008 12:14
pause? der art thou? 01000101 High Level Programmering 3 05-15-2006 08:42
hvordan du pause en annen prosess? daneensign UNIX for Dummies Spørsmål og svar 1 02-14-2006 12:27

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øk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 05-26-2009
droppedonjapan droppedonjapan is offline
Registrert bruker
  
 

Bli Dato: mai 2008
Innlegg: 8
Script Pause Inntil Rsync Is Done Overføring

Alright, jeg har denne skript som henter filer fra noen få steder, behandle disse filene, skaper en zip-fil, er rsync den og deretter fjerner alt.

Problemet som jeg har er at jeg ikke vet hvor stor rsync'ed zip-filen skal være. Akkurat nå er jeg ved hjelp av en søvn kommando før jeg fjerne alle filer og kataloger opprettet, men jeg er ukomfortabel i å forlate det på denne måten. Alt det ville ta ville være en stor fil som det er behov for å rsync og scriptet vil slette filen før det er gjort overføres.

Så er det en måte å ha skriptet sjekke fremgangen av rsync? Hvis ikke, hvordan vil jeg gå om å gjøre noe langs disse linjene?
  #2 (permalink)  
Old 05-26-2009
in2nix4life's Avatar
in2nix4life in2nix4life is offline
Registrert bruker
  
 

Bli Dato: Oct 2007
Sted: East Coast
Innlegg: 58
Hvis dette er en Bash shell script du kan prøve på "vent" kommandoen.

Se mer her -- Job Control Commands

Håper dette hjelper.
  #3 (permalink)  
Old 05-26-2009
jaysunn's Avatar
jaysunn jaysunn is offline
Registrert bruker
  
 

Bli Dato: mai 2009
Innlegg: 22
Jeg liker å bruke en lock fil. På denne måten vil skriptet loopen till låsefila er borte enn re kjø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

Sørg for å sette opp ssh nøkler. Dette drives på Red Hat-system.

Lykke til
  #4 (permalink)  
Old 05-28-2009
droppedonjapan droppedonjapan is offline
Registrert bruker
  
 

Bli Dato: mai 2008
Innlegg: 8
Sitat:
Originally Posted by in2nix4life View Post
Hvis dette er en Bash shell script du kan prøve på "vent" kommandoen.
Av en eller annen grunn å vente kommandoen ikke fungerer i henhold til dokumentasjon på at du ga meg. Jeg har prøvd nettopp gjør dette ...

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

wait
Og det ikke vente i det hele tatt.

Som for låsefil, jeg er ikke sikker på hva dette skriptet gjør, akkurat.

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 si, begynner det ut å fortelle hvor låsen katalog og fil er. Så kan du si om låst filen eksisterer, så hvis det skjer, så avslutter skriptet. Så hvis det ikke er der, så du tar filen (og dermed skape en tom fil, hvis min "touch" kunnskap er riktig), og deretter starter rsync i bakgrunnen prosess. Når det begynner å gjøre rsync, fjerner den deretter låse filen.

Jeg kunne se dette noe å arbeide hvis du gjort skriptet kaller seg selv før mens utsagn, men jeg vet ikke hvordan dette ville forbedre situasjonen. Normalt mitt script deretter fjerner filene som blir rsync'ed, så selv om jeg kalte dette skriptet eksternt, ville rm kommandoen gå gjennom så snart dette skriptet er ferdig, a la akkurat som rsync starter. Og jeg trenger ikke å rsync flere filer, bare ett.

Eventuelle andre ideer / forslag?

(Takk for det jeg har så langt, forresten. )

EDIT: Også, jeg kjører alt dette på en Red Hat-system. Husk å inkludere det tidligere.
  #5 (permalink)  
Old 06-01-2009
df d.f. is offline
Registrert bruker
  
 

Bli Dato: november 2006
Innlegg: 5
Hvis jeg forstår dette riktig, er du på utkikk etter en måte å kontrollere at rsync er ferdig før du går videre til resten av skriptet. bash ville tillate deg å gjøre dette med '& &' operatør (i dette tilfellet rsync er Command1):

Code:
command1 && command2
Fra bash mannen siden, "command2 henrettet hvis og bare hvis, Command1 returnerer en exit status null."

Så, noe du kanskje kan bruke ville være:

Code:
rsync -options file.xx remotehost:/path/to/store && rm file.xx
Det Gotcha her er at rsync kan mislykkes i et par forskjellige årsaker, og hvis den gjør, ville den andre kommandoen ikke kjøre.
Closed Thread

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 07:58.


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