The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



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
exit status van het commando in een pipe-line topcat8 UNIX voor Dummies Questions & Answers 10 10-19-2007 05:39
Haal het exit status van een externe opdracht zoonalex Programmeren en Shell Scripting 1 08-23-2006 05:58 PM
Probleem met exit status diganta Programmeren en Shell Scripting 1 09-28-2005 09:34
Verplaats commando terug met exit code van 2 handak9 UNIX for Advanced & Expert Gebruikers 1 08-26-2004 06:40
Onjuiste exit status terug van FTP-commando - Help? frustrated1 Programmeren en Shell Scripting 3 08-22-2003 04:25

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 09-12-2008
visingha visingha is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2008
Posts: 20
Verplaats Command and exit status probleem

Hi All,

Ik gebruik de volgende code te verplaatsen van bestanden naar een andere map op de server:

ssh gebruikersnaam @ server <<EOF
cd source_dir
zoeken. -type f-name "*. txt" | xargs-n1000-i () () mv dest_dir
if [$? ! \u003d 0]
stuur dan e-mail met vermelding van fout
anders
echo "succes"
fi
EOF

Nu, als ik de handleiding uitvoeren van het script werkt prima maar wanneer schema uitvoeren van het script gebeurt het verzenden van de mail aan mij aangeeft dat enkele fout heeft voorgedaan (hoewel dont 'weet de exacte foutmelding).

Kan iemand mij vertellen waarom is dit happening.Moreover, hoe kan ik de exacte foutmelding, terwijl het schema uitvoeren van het script plaatsvindt.
  #2 (permalink)  
Old 09-12-2008
tijdperk era is offline Forum Advisor  
Herder van Nutteloze Cats (On Sabbatical)
  
 

Join Datum: maart 2008
Locatie: / er / is / alleen / bin / sh
Berichten: 3652
Als u dit uit cron, een foutmelding moeten komen via e-mail (tenzij u uitdrukkelijk redirect standaardfout ergens). Aan de andere kant, misschien is het inderdaad zinvol om standaard output en standaard error naar een tijdelijk bestand ergens zodat u kunt controleren ze in min of meer real-time.

Misschien een goed begin zou zijn om de waarde van $? in het foutenrapport. Als u vangen standaardfout en standaard output van de pijpleiding naar een tijdelijk bestand bevatten dat in de e-mail ook.

Merk op dat de exit-code van xargs kunnen maskeren de afslag code uit mv

Als een stilistische kwestie, is de enige opdracht die het echt verdient om te lopen op de externe server is de vinden | xargs mv pijpleiding.


Code:
ssh username@server 'find source_dir -name "*.txt" | xargs -n 1000 -i {} mv {} destdir' &&
echo "Success" || mailx -s "fail" you@example.net

  #3 (permalink)  
Old 09-12-2008
visingha visingha is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2008
Posts: 20
Hi Era,

Bedankt voor het antwoord.

Per uw antwoord, moet ik de volgende code op te sporen de uitvoering van opdrachten:

ssh gebruikersnaam @ server 'vinden source_dir-name "*. txt" | xargs-n 1000-i () () mv bestemming' 1>> $ filename 2>> $ filename & &
echo "Succes" | | mailx-s' mislukt ' you@example.net

$ bestandsnaam aanwezig is op mijn lokale server, zal de bovenstaande code in staat zijn om de berichten. Anders kunt u wijzen op de andere variant van de code om de exacte fout message.The logboekbestand aanwezig moet zijn op de lokale server.

Bedankt voor uw begrip
  #4 (permalink)  
Old 09-12-2008
tijdperk era is offline Forum Advisor  
Herder van Nutteloze Cats (On Sabbatical)
  
 

Join Datum: maart 2008
Locatie: / er / is / alleen / bin / sh
Berichten: 3652
Pretty dicht, wil je 2> & 1 in plaats van 2>> $ filename Denk ik. Je hebt waarschijnlijk wilt verzenden $ bestandsnaam met de e-mail bericht, en het verwijderen van $ filename nadat u klaar bent.


Code:
ssh username@server \
'find source_dir -name "*.txt" | xargs -n 1000 -i {} mv {} destdir' >>$filename 2>&1 &&
echo "Success" || mailx -s "fail: $?" you@example.net <$filename

  #5 (permalink)  
Old 09-12-2008
visingha visingha is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2008
Posts: 20
Smile

Hi Era,

Bedankt voor de uitleg en correctie van mij.

Is het mogelijk voor het verzenden van het fout beschrijving (systeem-gedefinieerd) die overeenkomt met de exitstatus. Laat het me weten.

Is er een verschil als ik-N100 in plaats van N-100 in het xargs opdracht? Is dat belangrijk als de ruimte heb ik getest, mijn script zonder gebruik te maken van de ruimte.
  #6 (permalink)  
Old 09-12-2008
tijdperk era is offline Forum Advisor  
Herder van Nutteloze Cats (On Sabbatical)
  
 

Join Datum: maart 2008
Locatie: / er / is / alleen / bin / sh
Berichten: 3652
Wat bedoel je met "error beschrijving (systeem-gedefinieerd) die overeenkomt met de exitstatus"?

De ruimte tussen-n en het aantal is waarschijnlijk te verwaarlozen. Er zijn diverse optie-verwerking bibliotheken en sommige zijn gevoelig voor deze verschillen, terwijl andere niet, dus gebruik wat voor u werkt.
  #7 (permalink)  
Old 09-12-2008
visingha visingha is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2008
Posts: 20
Ik bedoel als de exit status is 1 dan hoe kunnen we de werkelijke foutmelding die het reservoir kunnen zijn teruggekeerd, terwijl het uitvoeren van de opdracht. (of heb ik het gebruik van de gebruiker gedefinieerde bericht alleen)
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 03:22 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0