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
cron? automatisere et script hassanj UNIX for dummyer Spørgsmål & svar 8 12-22-2007 09:29 AM
Er det muligt at have mere end én Cron i shell script? Yamini Thoppen AIX 4 12-17-2007 03:23 AM
Cron-job til Perl-script mand UNIX for Advanced & Ekspertsøgning Brugere 3 07-26-2007 01:20 PM
Kan køre scriptet manuelt, men ikke gennem Cron? MadHatter Shell Programmering og Scripting 4 10-19-2005 10:08 AM
Cron Script Q doublek321 Shell Programmering og Scripting 2 07-06-2004 09: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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 03-04-2008
richo konge richo king is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Stillinger: 4
Hjælp med script - drives af cron

Hej,

Jeg har en shell script, der kører hvert minut til at behandle indkommende filer leveres eksternt via SFTP til en mappe. Dybest scriptet virker og processer de filer, men jeg får en fejl, når en ny fil, der leveres til den mappe.

Se mit script nedenfor. En ny fil er leveret hver dag via SFTP fra en ekstern kilde, som scriptet processer i de rigtige navngivningskonvention og det er derefter importeres ind i vores database ved hjælp af krøller. Vi får en ny fil til 06:05 hver dag, og jeg får en cron fejlmeddelelse leveret til min mail boks hver morgen. Men hvis jeg så gå og ændre scriptet, og derefter teste den ved hjælp af samme fil med cron den vil behandle korrekt. Men når jeg kommer ind i morgen vil jeg finde, at det har heller ikke denne gang - meget frustrerende!

Jeg har ingen idé om, hvorfor det er! Hvis nogen kan foreslå noget, der kan afhjælpe så lad mig det vide. Jeg har også inkluderet en kopi af den fejlmeddelelse jeg får fra Cron.

#! / bin / bash
TRANSDATA \u003d / home / tsbftp / transaction_data
ARBEJDSDOKUMENT \u003d / home / tsbftp / arbejdstid
FILES \u003d $ (ls $ TRANSDATA)
IMPORT \u003d / home/arch3ftp/dfn-dev.arch3systems.com/html/import
til filen i $ FILER
gøre

# skifte ejer af filen til roden - ændre tilladelser til roden til fuld adgang
echo "$ file"> / tmp / formatfile.nfo
chown root $ TRANSDATA / "$ file"
chmod 777 $ TRANSDATA / "$ file"

# Strip ud kontonummer og anbringes i en variabel
AN \u003d $ (grep ^ 00 $ TRANSDATA / "$ file" | cut-C 3-18)

# sæt den aktuelle dato og tid for filnavn konvention og anbringes i en variabel
CUDA \u003d $ (date +% Y% m% d% k% M% S)
# Omdøb denne fil med det ønskede format
mv $ TRANSDATA / "$ file" $ TRANSDATA / $ EN "_" $ CUDA.a3i
sove 2
mv $ TRANSDATA / $ EN "_" $ CUDA.a3i $ ARBEJDSDOKUMENT
echo $? >> / Tmp / formatfile.nfo

cp $ ARBEJDSDOKUMENT / $ EN "_" $ CUDA.a3i $ IMPORT
curl-s http://dfn-dev.arch3systems.com/batches/import/ $ EN / $ CUDA
gjort
exit 0

Som du kan se jeg har tilføjet i søvn 2 osv. for at forsøge at afhjælpe fejlen jeg og prøvede at omdøbe filen på plads, så flytter osv. Se fejlmeddelelse nedenfor fra Cron.

/ etc / cron.d / format_file.sh:

MV: når de flytter flere filer, sidste argument skal være en mappe Prøv `mv - help 'for mere information.
cp: cannot stat `/ home/tsbftp/working/1539590548547000_20080305 ': Ingen sådan fil eller mappe

Jeg får altid MV fejl, men hvis jeg ændre scriptet til at gøre det omdøbe en anden måde, det vil virke, når jeg har testet det med cron! Men sikker nok, det vil mislykkes, når en ny fil kommer i den næste dag!
  #2 (permalink)  
Old 03-05-2008
RTM's Avatar
RTM RTM is offline Forum Advisor  
Hog Hunter
  
 

Join Date: Apr 2002
Location: På min motorcykel
Stillinger: 3039
Citat:
Jeg får altid MV fejl, men hvis jeg ændre scriptet til at gøre det omdøbe en anden måde, det vil virke, når jeg har testet det med cron! Men sikker nok, det vil mislykkes, når en ny fil kommer i den næste dag!
Fordi når du tester, sftp er afsluttet, og intet er at låse filen så du kan omdøbe / flytte uden problemer.

Du sandsynligvis nødt til at ændre den måde, sftp virker - hvilket betyder, sende en anden fil (enten et 0 byte fil eller en med checksum af den første fil i det), skal du kontrollere, at den anden fil, er der (på grund af dens lille størrelse, du kan sove 2 sekunder og har ingen problem at åbne det for at fange den checksum info).

Trin:
1. sftp sende originale fil
2. Din opgaven skal skydes i gang - sftp stadig kan sende filen
3. Cron-job venter for 2.-fil.
4. sftp færdig med at sende første fil.
5. sftp sender anden fil.
6. cron-job konstaterer anden fil - "ved", det er sikkert at manipulere første fil
7. Hvis du beslutter at sende checksum info - se info sendt kontra hvad dit system viser som checksum - bør være den samme.

Hvis det ikke kan lade sig gøre (du behøver ikke kontrollere, hvad sftp sender), så du kan få den oprindelige fil - vent, indtil den stopper få større. Eller kig efter SFTP-processen, vente, indtil det er væk. Men checksum er en fantastisk måde for at forsikre din fil er den samme som originalen.
  #3 (permalink)  
Old 03-05-2008
richo konge richo king is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Stillinger: 4
tak for det svar, jeg forstår, hvad ur sige, men sikkert, det ville proces eventualy når filen er færdig? så den kører hvert minut. Den fil vil ikke behandle, selv om jeg køre den manuelt på den nye fil, der er kommet i, selv efter at have ventet et par minutter. Det er først efter jeg ændre scriptet lidt vil filen processen corectly indtil en ny fil vises næste dag.

Jeg vil prøve hvad u har foreslået, som jeg har løbet tør for idéer. Tak igen.

Richo
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 04:04 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