The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
cron? automatisera ett script hassanj UNIX for Dummies Frågor & Svar 8 12-22-2007 09:29
Är det möjligt att ha mer än en Cron i shell script? Yamini Thoppen AIX 4 12-17-2007 03:23
Cron jobb för Perl-skript man UNIX för avancerade & Expertanvändare 3 07-26-2007 01:20
Kan köra skript manuellt, men inte genom Cron? MadHatter Shell-programmering och Skript 4 10-19-2005 10:08
Cron Script Q doublek321 Shell-programmering och Skript 2 07-06-2004 09: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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 03-04-2008
richo kung richo king is offline
Registered User
  
 

Join Date: mars 2008
Inlägg: 4
Hjälp med script - drivs av cron

Hej,

Jag har ett shell script som körs varje minut för att behandla inkommande filer levereras externt via SFTP till en katalog. Huvudsak skriften fungerar och processer filerna men jag får ett felmeddelande när en ny fil levereras i katalogen.

Se mina script nedan. En ny fil levereras varje dag via SFTP från en extern källa som skriptet processer i rätt namnkonventionen och det är sedan importeras till vår databas med hjälp av curl. Vi får en ny fil vid 06:05 varje dag och jag får ett meddelande cron misstag levererats till min postlåda varje morgon. Men om jag sedan gå och ändra skriptet och testa den sedan använda samma fil med cron det kommer att behandla på rätt sätt. Men när jag kommer in på morgonen jag kommer att finna att man har misslyckats igen - mycket frustrerande!

Jag har ingen aning om varför det är! Om någon kan föreslå något som kan avhjälpa please let me know. Jag har också bifogat en kopia av felmeddelandet som jag får från Cron.

#! / bin / bash
TRANSDATA \u003d / home / tsbftp / transaction_data
WORKING \u003d / home / tsbftp / arbetstid
FILES \u003d $ (ls $ TRANSDATA)
IMPORT \u003d / home/arch3ftp/dfn-dev.arch3systems.com/html/import
för filen i $ FILES
göra

# ändra ägare av filen till root - ändra behörigheter för root till full tillgång
echo "$ file"> / tmp / formatfile.nfo
chown root $ TRANSDATA / "$ file"
chmod 777 $ TRANSDATA / "$ file"

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

# Ställ in aktuellt datum och tid för filnamn konvention och placeras i en variabel
CUDA \u003d $ (date +% Y% m% d% k% M% S)
# Byt namn på aktuell fil med Format
mv $ TRANSDATA / "$ file" $ TRANSDATA / $ ETT "_" $ CUDA.a3i
sömn 2
mv $ TRANSDATA / $ ETT "_" $ CUDA.a3i $ WORKING
echo $? >> / Tmp / formatfile.nfo

cp $ WORKING / $ ETT "_" $ CUDA.a3i $ IMPORT
curl-s http://dfn-dev.arch3systems.com/batches/import/ $ AN / $ CUDA
gjord
exit 0

Som ni ser har jag lagt in sleep 2 mm för att försöka rätta till felet jag och försökte byta namn på filen på plats sedan flytta etc. Se felmeddelande nedan från Cron.

/ etc / cron.d / format_file.sh:

MV: när man flyttar flera filer, senaste argumentet måste vara en katalog Try `mv - Hjälp" för mer information.
cp: cannot stat `/ home/tsbftp/working/1539590548547000_20080305": Ingen sådan fil eller katalog

Jag alltid få mv fel, men om jag ändra skriptet att göra byta namn på ett annat sätt det kommer att fungera när jag testa det med cron! Men säker nog kommer det att misslyckas när en ny fil kommer i nästa dag!
  #2 (permalänk)  
Old 03-05-2008
RTM's Avatar
RTM RTM is offline Forum Advisor  
Gult Hunter
  
 

Join Date: april 2002
Ort: På min motorcykel
Inlägg: 3039
Citat:
Jag alltid få mv fel, men om jag ändra skriptet att göra byta namn på ett annat sätt det kommer att fungera när jag testa det med cron! Men säker nog kommer det att misslyckas när en ny fil kommer i nästa dag!
För när du testar, är SFTP avslutad och ingenting låser filen låter dig byta namn / flytta utan problem.

Du behöver antagligen ändra hur sftp fungerar - innebörd, skicka en andra fil (antingen en 0 byte fil eller en med kontrollsumman för den första filen i den), kontrollera att den andra filen är där (beror på att det är så liten du kan sova 2 sekunder och har inga problem att öppna den och greppa kontrollsumman info).

Steg:
1. SFTP skicka originalfilen
2. Din cron job kicks off - sftp fortfarande kan skicka fil
3. Cron-jobb väntar för 2: a-fil.
4. SFTP slutar sända första filen.
5. SFTP sänder andra filen.
6. cron job finner andra filen - "vet" det är säkert att manipulera första filen
7. Om du väljer att skicka kontrollsumma info - kolla info skickas mot vad ditt system visar så kontrollsumma - bör vara desamma.

Om detta inte kan göras (du kontrollerar inte vad sftp sänder), så du kan ange den ursprungliga filen - vänta tills det tar stopp blir större. Eller leta efter SFTP processen, vänta tills det är borta. Men kontrollsumman är ett bra sätt att försäkra din fil är samma som originalet.
  #3 (permalänk)  
Old 03-05-2008
richo kung richo king is offline
Registered User
  
 

Join Date: mars 2008
Inlägg: 4
tack för svaret jag förstår vad ur säger men ändå vore process eventualy när filen är klar? eftersom den körs varje minut. Filen kommer inte att behandla, även om jag kör den manuellt på den nya filen som har kommit in även efter att ha väntat ett par minuter. Det är bara när jag har ändrat skriptet något kommer filen processen corectly tills en ny fil visas nästa dag.

Jag ska försöka vad u har föreslagits som jag har slut på idéer. Tack igen.

Richo
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 03:25.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0