The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

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
avgjøre om skriptet er startes manuelt eller ikke? hitmansilentass Shell programmering og Skripting 8 06-22-2008 11:32
SFTP errorcode 1 når kjøre på cron men kjører manuelt Heidi.Ebbs Sun Solaris 2 08-08-2007 12:16
sjekk i unix shell script slik at ingen er i stand til å kjøre skriptet manuelt adi_bang76 Shell programmering og Skripting 1 11-16-2006 10:43
Works manuelt - ikke i den kronologiske dstinsman UNIX for Dummies Spørsmål og svar 5 03-06-2006 08:36
Kan kjøre skript manuelt, men ikke gjennom Cron? MadHatter Shell programmering og Skripting 4 10-19-2005 10:08

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 11-17-2008
billtwild billtwild is offline
Registrert bruker
  
 

Bli Dato: november 2008
Innlegg: 2
Script oppfører seg forskjellig når kjøres fra cron g. manuelt

Hei alle,

Ville bare få litt input på et skript jeg bruker til å importere filer inn i en MySQL database.

Prosessen er ganske enkel: mitt viktigste server eksport disse filene og FTPs dem. Jeg har et skript som FTPs dem til maskinen som kjører som kjører dette skriptet. FTP-script kjører uten problem hver gang, bith fra cron eller manuelt.

Problemet oppstår når cron kjører skriptet nedenfor. Vær snill, dette er min første skript.

Loopen går fint første gang, men når det looper tilbake igjen det dør på det punktet hvor mysqlimport kalles igjen. Den første filen, i dette tilfellet website_tabProperty.txt fungerer fint. Den dør ved website_tabBuilding.txt.

Min cron er satt til å kjøre dette skriptet som root.

Jeg har kjørt dette skriptet manuelt ". /" I lang tid og fungerer hver gang.

Jeg tror det et problem med løkke og cron men jeg skrånende komme opp med noe.

Takk for hjelpen.

Regning

Code:

#!/bin/bash
echo "Starting new batch import `date`"  
echo "Starting new batch import `date`" >> /root/import.log

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Imporatnt: The last file and table in these arrays MUST be the data that is targeted for
#the append operation.

#define the files names for import and existance verification. These are renamed to the names below
file_name[1]=/root/website_tabProperty.txt
file_name[2]=/root/website_tabBuilding.txt
file_name[3]=/root/website_tabApartment.txt
file_name[4]=/root/website_tabMeters.txt
file_name[5]=/root/website_tabReadings.txt

#define the file names for importation. The file names must match the table names
target_file_name[1]=/root/tabProperty.txt
target_file_name[2]=/root/tabBuilding.txt
target_file_name[3]=/root/tabApartment.txt
target_file_name[4]=/root/tabMeters.txt
target_file_name[5]=/root/tabReadings.txt

#define the target tables to flush
target_table[1]=tabProperty
target_table[2]=tabBuilding
target_table[3]=tabApartment
target_table[4]=tabMeters
target_table[5]=tabReadings

#this number nust be one higher than the max index in the arrays. 
MAX_LOOP=6

#Set this value to the index we want to append - will force it to skip the flush
APPEND_INDEX=5

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




#set the file name suffix for the renaming routine
suffix=`date +%m_%d_%Y`



COUNTER=1


while [ $COUNTER -lt $MAX_LOOP ]; do


    echo "---------------------------------------" 
    echo "---------------------------------------" >> /root/import.log
    
    echo "Processing index - "$COUNTER 
    echo "Processing index - "$COUNTER >> /root/import.log

    DIR=${file_name[COUNTER]}
    if [ -f $DIR ];then

    
        echo "Original "${file_name[COUNTER]}" exists" 
        echo "Original "${file_name[COUNTER]}" exists" >> /root/import.log

        echo "Renaming "${file_name[COUNTER]}  
        echo "Renaming "${file_name[COUNTER]} >> /root/import.log
        cp ${file_name[COUNTER]} ${target_file_name[COUNTER]}

        echo "Removing "${file_name[COUNTER]} 
        echo "Removing "${file_name[COUNTER]} >> /root/import.log
        rm ${file_name[COUNTER]}

        #Only flush the table if it is not the last one in the index
        if [ $COUNTER != $APPEND_INDEX ]; then
            echo "Flushing "${target_table[COUNTER]} 
            echo "Flushing "${target_table[COUNTER]} >> /root/import.log
            mysql -u root -p8895asdf7665553 -e "use wellspring; delete from "${target_table[COUNTER]}";"
            sleep 2
        else
            echo "Not Flushing "${target_table[COUNTER]} 
            echo "Not Flushing "${target_table[COUNTER]} >> /root/import.log
        fi

        echo "Importing "${target_file_name[COUNTER]} 
        echo "Importing "${target_file_name[COUNTER]} >> /root/import.log
        mysqlimport -u root -p8895asdf7665553 --local wellspring ${target_file_name[COUNTER]}
        sleep 2

        echo "Renaming "${target_file_name[COUNTER]} 
        echo "Renaming "${target_file_name[COUNTER]} >> /root/import.log
        cp ${target_file_name[COUNTER]} ${target_file_name[COUNTER]}.$suffix
        sleep 1

        echo "Removing "${target_file_name[COUNTER]} 
        echo "Removing "${target_file_name[COUNTER]} >> /root/import.log
        rm ${target_file_name[COUNTER]}
        sleep 1


    else


        echo "Original "${file_name[COUNTER]}" does not exist"
        echo "Original "${file_name[COUNTER]}" does not exist" >> /root/import.log
        



    fi

    

    let COUNTER=COUNTER+1
done

echo "---------------------------------------" 
echo "---------------------------------------" >> /root/import.log

echo "Finished batch import `date`" 
echo "Finished batch import `date`" >> /root/import.log

echo "*********************************************************************************" 
echo "*********************************************************************************" >> /root/import.log


exit
  #2 (permalink)  
Old 11-17-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Bli Dato: Sep 2007
Sted: Tyskland
Innlegg: 2272
Det er tonnevis av de samme spørsmålene for cronjobs her på forumet, slik at du vil finne massevis med søkefunksjon som tilbys av forumet. Også sjekk dette:

cron og crontab
  #3 (permalink)  
Old 11-21-2008
billtwild billtwild is offline
Registrert bruker
  
 

Bli Dato: november 2008
Innlegg: 2
Sitat:
Originally Posted by zaxxon View Post
Det er tonnevis av de samme spørsmålene for cronjobs her på forumet, slik at du vil finne massevis med søkefunksjon som tilbys av forumet. Også sjekk dette:

cron og crontab

Mens jeg setter pris på linken, og forslag til å bruke ditt --- som jeg gjorde - det var ikke en stor mengde spesifikk informasjon om hvordan miljøet påvirker skriptene spesielt. Jeg håpet at noen kanskje har erfaring på dette området og kunne peke meg i retning av å bruke mer vanilje (dvs. - kjører uansett) kontra hva jeg har gjort ovenfor.

Forresten, jeg ønsker jeg hadde en nikkel for hver time jeg spilte Zaxxon på min C64 som en gutt.
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 12:29.


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