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
cron? het automatiseren van een script hassanj UNIX voor Dummies Questions & Answers 8 12-22-2007 09:29
Is het mogelijk om meer dan een Cron in shell script? Yamini Thoppen AIX 4 12-17-2007 03:23
Crontaak voor Perl-script man UNIX for Advanced & Expert Gebruikers 3 07-26-2007 02:20 PM
Kunnen rijden script handmatig, maar niet via Cron? MadHatter Programmeren en Shell Scripting 4 10-19-2005 11:08
Cron Script Q doublek321 Programmeren en Shell Scripting 2 07-06-2004 10:35 PM

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 03-04-2008
richo koning richo king is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Posten: 4
Hulp bij script - gerund door cron

Hallo,

Ik heb een shell script dat elke minuut om inkomende bestanden extern geleverd via SFTP naar een directory proces draait. In principe is het script werken en verwerkt de bestanden maar ik krijg een foutmelding wanneer een nieuw bestand wordt geleverd in de directory.

Zie mijn script hieronder. Een nieuw bestand wordt dagelijks geleverd via SFTP van een externe bron, die het script verwerkt in de correcte naamgeving en het is vervolgens ingevoerd in onze database met krullen. We krijgen een nieuw bestand op 06:05 elke dag en ik krijg een cron foutmelding geleverd aan mijn mail box elke ochtend. Maar als ik dan ga en verander het script en test met behulp van hetzelfde bestand met cron zal correct te verwerken. Maar toen ik komen in de ochtend zal ik vind dat het weer niet heeft - zeer frustrerend!

Ik heb geen idee waarom dit zo is! Als iemand iets kan voorstellen dat kan verhelpen laat het me weten. Ik heb ook een kopie van de foutmelding ik van Cron krijgen.

#! / bin / bash
TRANSDATA \u003d / home / tsbftp / transaction_data
WERKEN \u003d / home / tsbftp / werken
FILES \u003d $ (ls $ TRANSDATA)
IMPORT \u003d / home/arch3ftp/dfn-dev.arch3systems.com/html/import
voor bestand in $ FILES
doen

# verander eigenaar van het dossier naar root - wijzigen root-permissies voor volledige toegang
echo "$ file"> / tmp / formatfile.nfo
chown root $ TRANSDATA / "$ file"
chmod 777 $ TRANSDATA / "$ file"

# Haal het rekeningnummer en plaats in een variabele
AN \u003d $ (grep ^ 00 $ TRANSDATA / "$ file" | cut-c 3-18)

# set huidige datum en tijd voor de bestandsnaam conventie en plaats in een variabele
CUDA \u003d $ (date +% Y% m% d% k% M% S)
# Rename huidige bestand in vereiste formaat
mv $ TRANSDATA / "$ file" $ TRANSDATA / $ EEN "_" $ CUDA.a3i
slapen 2
mv $ TRANSDATA / $ EEN "_" $ $ CUDA.a3i WERKEN
echo $? >> / Tmp / formatfile.nfo

cp $ WERKEN / $ EEN "_" $ $ CUDA.a3i IMPORT
curl-s http://dfn-dev.arch3systems.com/batches/import/ $ AN / $ CUDA
gedaan
exit 0

Zoals je kunt zien heb ik toegevoegd in slaap 2 enz. om te proberen de fout te verhelpen en ik probeerde het hernoemen van het bestand in plaats vervolgens verplaatsen, enz. Zie de onderstaande foutmelding van Cron.

/ etc / cron.d / format_file.sh:

mv: tijdens het verplaatsen van meerdere bestanden, laatste argument moet een directory Probeer `mv - help 'voor meer informatie.
cp: cannot stat `/ home/tsbftp/working/1539590548547000_20080305 ': Onbekend bestand of map

Krijg ik steeds de mv fout, maar als ik het script te doen de naam van een andere manier zal werken als ik testen met cron! Maar zeker genoeg zal het mislukken wanneer een nieuw bestand komt in de volgende dag!
  #2 (permalink)  
Old 03-05-2008
RTM's Avatar
RTM RTM is offline Forum Advisor  
Hog Hunter
  
 

Join Date: april 2002
Locatie: Op mijn motorfiets
Berichten: 3039
Citaat:
Krijg ik steeds de mv fout, maar als ik het script te doen de naam van een andere manier zal werken als ik testen met cron! Maar zeker genoeg zal het mislukken wanneer een nieuw bestand komt in de volgende dag!
Want als je test, is de sftp voltooid en niets is het vergrendelen van het bestand om u te laten hernoemen / verplaatsen zonder problemen.

Je moet waarschijnlijk de manier waarop de sftp werken - zin te veranderen, een tweede bestand sturen (ofwel een 0-byte bestand of een bestand met de checksum van het eerste bestand in it), controleer of de tweede bestand is er (als gevolg van het geringe omvang, je kunt slapen 2 seconden en hebben geen probleem te openen te grijpen de checksum info).

Stappen:
1. sftp verzenden originele bestand
2. Uw cron job start - sftp kunnen nog steeds het verzenden bestand
3. Crontaak wacht voor 2de bestand.
4. sftp afwerkingen verzenden eerste bestand.
5. sftp stuurt tweede bestand.
6. cron job vindt tweede bestand - 'weet' dat het veilig is om eerst bestand te manipuleren
7. Als u besluit om checksum info sturen - check info verstuurd versus wat uw systeem toont als checksum - moeten dezelfde zijn.

Als dat niet kan worden gedaan (je niet controleren wat sftp is met het verzenden), dan kunt u een lijst van de oorspronkelijke bestand - wacht tot hij stopt steeds groter. Of zoek naar de sftp proces, wacht tot hij is verdwenen. Maar de checksum is een geweldige manier van het verzekeren van uw bestand is hetzelfde als het origineel.
  #3 (permalink)  
Old 03-05-2008
richo koning richo king is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Posten: 4
bedankt voor het antwoord dat ik begrijp wat ur zeggen maar zeker het eventueel zou worden verwerkt, wanneer het dossier volledig is? als het draait per minuut. Het bestand zal zelfs niet als ik zonder het handmatig op het nieuwe bestand dat in gekomen proces nog te wachten na een paar minuten. Het is pas nadat ik het script iets veranderen zal het bestand proces corectly totdat er een nieuw bestand verschijnt volgende dag.

Ik zal proberen wat u hebben gesuggereerd zoals ik al uitgeput van ideeën. Thanks again.

Richo
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 11:47 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