The UNIX and Linux Forums  

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
cron? automatisere et skript hassanj UNIX for Dummies Spørsmål og svar 8 12-22-2007 09:29
Er det mulig å ha mer enn én Cron i shell script? Yamini Thoppen AIX 4 12-17-2007 03:23
Cron jobb for Perl-skript mann UNIX for Advanced & ekspertbrukere 3 07-26-2007 02:20
Kan kjøre skript manuelt, men ikke gjennom Cron? MadHatter Shell programmering og Skripting 4 10-19-2005 11:08
Cron Script Q doublek321 Shell programmering og Skripting 2 07-06-2004 10:35

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 03-04-2008
richo konge richo king is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Innlegg: 4
Hjelp med skriften - drevet av cron

Hallo,

Jeg har et skall skript som kjøres hvert minutt å behandle innkommende filer levert eksternt via SFTP til en katalog. I utgangspunktet skriptet fungerer og behandler filer men jeg får en feilmelding når en ny fil er levert inn i katalogen.

Se skriptet mitt nedenfor. En ny fil blir levert hver dag via SFTP fra en ekstern kilde som skriptet prosessene i riktig navnekonvensjonen og det er så importert inn i vår database med krøller. Vi får en ny fil til 06:05 hver dag og får jeg en cron feilmelding leveres til postkassen hver morgen. Men hvis jeg da gå og endre manuset og deretter teste den ved hjelp av den samme filen med cron den vil behandle riktig. Men når jeg kommer på i morgen skal jeg finne at den har mislyktes igjen - veldig frustrerende!

Jeg aner ikke hvorfor dette er! Hvis noen kan foreslå noe som kan avhjelpe vennligst gi meg beskjed. Jeg har også en kopi av feilmeldingen jeg får fra Cron.

#! / bin / bash
TRANSDATA \u003d / home / tsbftp / transaction_data
ARBEIDSMILJØ \u003d / home / tsbftp / arbeider
FILES \u003d $ (ls $ TRANSDATA)
IMPORT \u003d / home/arch3ftp/dfn-dev.arch3systems.com/html/import
for fil in $ FILES
gjøre

# endre eier av filen til roten - endre tillatelser for rot til full tilgang
echo "$ file"> / tmp / formatfile.nfo
chown root $ TRANSDATA / "$ fil"
chmod 777 $ TRANSDATA / "$ fil"

# Strip ut kontonummeret og fyll i en variabel
AN \u003d $ (grep ^ 00 $ TRANSDATA / "$ file" | cut-c 3-18)

# angi gjeldende dato og klokkeslett for filnavn konvensjon og fyll i en variabel
CUDA \u003d $ (date +% Y% m% d% k% M% S)
# Gi Gjeldende fil med ønsket format
mv $ TRANSDATA / "$ file" $ TRANSDATA / $ AN "_" $ CUDA.a3i
sleep 2
mv $ TRANSDATA / $ AN "_" $ CUDA.a3i $ ARBEIDER
echo $? >> / Tmp / formatfile.nfo

cp $ ARBEIDSMILJØ / $ AN "_" $ CUDA.a3i $ IMPORT
curl-s http://dfn-dev.arch3systems.com/batches/import/ $ AN / $ CUDA
ferdig
exit 0

Som du kan se jeg har lagt i dvale 2 etc for å prøve og rette feilen jeg og forsøkte gir nytt navn filen i stedet deretter flytting osv. Vennligst se feilmeldingen nedenfor fra Cron.

/ etc / cron.d / format_file.sh:

mv: når du flytter flere filer, siste argumentet må være en katalog Prøv `mv - help 'for mer informasjon.
cp: cannot stat `/ home/tsbftp/working/1539590548547000_20080305": Ingen slik fil eller mappe

Jeg har alltid få mv feil, men hvis jeg endre skriften å gjøre endre navn på en annen måte vil det fungere når jeg teste den med cron! Men sikker nok det vil mislykkes når en ny fil kommer i neste dag!
  #2 (permalink)  
Old 03-05-2008
RTM's Avatar
RTM RTM is offline Forum Advisor  
Hog Hunter
  
 

Bli Dato: april 2002
Beliggenhet: På min motorsykkel
Innlegg: 3039
Sitat:
Jeg har alltid få mv feil, men hvis jeg endre skriften å gjøre endre navn på en annen måte vil det fungere når jeg teste den med cron! Men sikker nok det vil mislykkes når en ny fil kommer i neste dag!
Fordi når du tester, er sftp ferdig og ingenting er låsing av filen slik at du kan endre / flytte uten problemer.

Du har sannsynligvis må endre måten sftp fungerer - mening, send en annen fil (enten a 0 byte fil eller ett med sjekksummen av den første filen i det), sjekk at den andre filen er der (på grunn av den lille størrelsen, Du kan sove i 2 sekunder og har ingen problem å åpne den for å ta tak i kontrollsum info).

Fremgangsmåte:
1. sftp sender original file
2. Din cron job kick off - sftp kan fremdeles være å sende fil
3. Cron jobb venter for 2.-fil.
4. sftp ferdig sender første filen.
5. sftp sender andre filen.
6. cron job finner andre filen - 'vet' det er trygt å manipulere første fil
7. Hvis du velger å sende regningene info - sjekk info sendes i motsetning til hva systemet viser så checksum - bør være den samme.

Dersom det ikke kan gjøres (du ikke styre hva sftp sender), så du kan vise den opprinnelige filen - vent til det stopper blir større. Eller ser du etter sftp prosessen, vent til den er borte. Men checksum er en flott måte å opprettholde filen er den samme som originalen.
  #3 (permalink)  
Old 03-05-2008
richo konge richo king is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Innlegg: 4
takk for svar Jeg forstår ur hva sier, men sikkert det ville behandle eventualy når filen er ferdig? som det går hvert minutt. Filen vil ikke behandle selv om jeg kjøre det manuelt på den nye filen som har kommet på selv etter å vente et par minutter. Det er først etter jeg endre skriften litt vil filen prosessen corectly inntil en ny fil vises neste dag.

Jeg vil prøve hva u har foreslått som jeg har sluppet opp for ideer. Takk igjen.

Richo
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:25.


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