The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
определить, если скрипт был ссылаться вручную или нет? hitmansilentass Shell программирование и сценарии 8 06-22-2008 12:32 PM
SFTP errorcode 1 при запуске на CRON запускается вручную, но Heidi.Ebbs SUN Solaris 2 08-08-2007 01:16 PM
Проверьте в Unix шелл скрипт так, что никто не способен запускаться вручную adi_bang76 Shell программирование и сценарии 1 11-16-2006 10:43 AM
Работы вручную - не в CRON dstinsman UNIX для чайников Вопросы И Ответы 5 03-06-2006 08:36 AM
Можно запустить скрипт вручную, но не через Cron? MadHatter Shell программирование и сценарии 4 10-19-2005 11: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 Оценить Thread Режимы дисплея
Old 11-17-2008
billtwild billtwild is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 2
Скрипт ведет себя иначе, если запустить из CRON против вручную

Привет всем,

Просто хотел бы получить некоторые материалы по скрипт я использую для импорта файлов в MySQL базе данных.

Процесс очень прост: мой главный сервер экспорта этих файлов и FTP сервера них. У меня есть сценарий, который им FTP сервера на машине работает, что работает этот скрипт. На FTP скрипт работает без вопрос всякий раз, bith от хрон или вручную.

Проблема возникает тогда, когда CRON запускает скрипт ниже. Пожалуйста, будьте рода, это мой первый скрипт.

Цикл выполняется нормально, в первый раз, но когда она петли снова умрет в том месте, где mysqlimport называется снова. Первый файл, в данном случае website_tabProperty.txt работает отлично. Он умер на website_tabBuilding.txt.

Моя CRON установлен для запуска этого сценария в качестве корневого.

Я работает этот скрипт вручную ". /" В течение длительного времени и работает каждый раз.

Я думаю, его проблемы с петель и CRON но я наклоняю придумать ничего.

Спасибо за вашу помощь.

Счет


Код:

#!/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

Old 11-17-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Модератор
  
 

Регистрация: Sep 2007
Местонахождение: Германия
Сообщений: 2294
Есть тонн одни и те же вопросы по cronjobs здесь на форуме так, что вы найдете множество с функцией поиска, представленной на форуме. Кроме того, проверьте следующее:

CRON и Crontab
Old 11-21-2008
billtwild billtwild is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 2
Цитата:
Первоначально Послано zaxxon View Post
Есть тонн одни и те же вопросы по cronjobs здесь на форуме так, что вы найдете множество с функцией поиска, представленной на форуме. Кроме того, проверьте следующее:

CRON и Crontab

Хотя я признателен за ссылку и предложение использовать поиск --- который я сделал - не было ни большой объем конкретной информации о том, как окружающая среда влияет на сценарии специально. Я надеялся, что кто-то, возможно, имеют опыт в этой области и могли бы мне точку в направлении использования более ваниль (то есть - работает независимо от того, какой) против того, что я сделал выше.

Кстати, я хотел бы у меня был никеля за каждый час я играл Zaxxon в моем C64, как ребенок.
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 10:14 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0