The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
festzustellen, ob das Skript wurde von Hand gemacht oder nicht? hitmansilentass Shell Programmierung und Scripting 8 06-22-2008 11:32 AM
SFTP errorcode 1, wenn auf Cron läuft aber manuell Heidi.Ebbs SUN Solaris 2 08-08-2007 12:16 PM
Check-in Unix-Shell-Skript, so dass niemand in der Lage, um das Skript manuell adi_bang76 Shell Programmierung und Scripting 1 11-16-2006 10:43 AM
Werke manuell - nicht in CRON dstinsman UNIX for Dummies Questions & Answers 5 03-06-2006 08:36 AM
Skript ausführen kann manuell, aber nicht durch Cron? Madhatter Shell Programmierung und Scripting 4 10-19-2005 10:08 AM

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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 11-17-2008
billtwild billtwild is offline
Registrierte Nutzer
  
 

Join Date: Nov 2008
Beiträge: 2
Script verhält sich anders bei der Ausführung von cron vs manuell

Hey alle,

Wollte nur einige Beiträge zu einem Skript Ich bin mit den Import-Dateien in eine MySQL-Datenbank.

Der Prozess ist ganz einfach: Meine wichtigsten Ausfuhren Server diese Dateien und FTPs sie. Ich habe ein Skript, das FTPs sie die Maschine läuft, das dieses Skript. Der FTP-Skript, das ohne Frage jedes Mal, bith von der cron oder manuell.

Das Problem tritt auf, wenn der Cron läuft das folgende Skript. Wenden Sie sich bitte so freundlich, das sind meine ersten Skripte.

Die Schleife läuft wunderbar das erste Mal, aber wenn es Schleifen wieder stirbt sie an dem Punkt, wo mysqlimport wird wieder. Die erste Datei, in diesem Fall die website_tabProperty.txt funktioniert. Er stirbt am website_tabBuilding.txt.

Mein Cron ist auf das Skript als root.

Ich habe seit diesem Skript manuell ". /" Für eine lange Zeit und jedes Mal funktioniert.

Ich meine, seine ein Problem mit der Schleife und der Cron, aber ich kann immer wieder etwas.

Vielen Dank für Ihre Hilfe.

Rechnung

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
  
 

Join Date: Sep 2007
Ort: Deutschland
Posts: 2262
Es gibt Unmengen an die gleichen Fragen für Cronjobs hier im Forum, damit würden Sie viel mit der Suche-Funktion, die das Forum. Überprüfen Sie auch dies:

cron und crontab
  #3 (permalink)  
Old 11-21-2008
billtwild billtwild is offline
Registrierte Nutzer
  
 

Join Date: Nov 2008
Beiträge: 2
Zitat:
Zitat von zaxxon View Post
Es gibt Unmengen an die gleichen Fragen für Cronjobs hier im Forum, damit würden Sie viel mit der Suche-Funktion, die das Forum. Überprüfen Sie auch dies:

cron und crontab

Während ich über den Link und die Anregung, die Suche --- was ich auch tat - es war nicht nur eine große Menge von Informationen darüber, wie die Umwelt beeinflusst Skripte speziell. Ich hatte gehofft, dass jemand Erfahrung in diesem Bereich und könnte mir in der Richtung mit mehr Vanille (dh - läuft, egal was) gegenüber, was ich getan habe oben.

By the way, ich wünschte, ich hätte einer Nickel für jede Stunde spielte ich Zaxxon auf meinem C64 wie ein Kind.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 11:04 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0