大家好,现需要从别的系统每天定时导入一些数据。数据每隔一分钟生成一个数据文件,命名规则如以下两个:
MC_20110223131600_20110223131700_0.dat
MC_20110223131059_20110223131159_0.dat生成的数据文件每天不间断ftp到我们的服务器、,我需要每天定时将前天送来的文件load到本地数据库请问大家脚本要怎么写,急用,谢谢!

解决方案 »

  1.   

    每隔一分钟生成一个数据文件???
    一天就生成1440个文件,N天就是N*1440个文件。数据文件怎么是.dat后缀?
      

  2.   

    这是从db2里面导出来,再ftp到我们的服务器,导入oracle文件什么后缀无关紧要吧。这不是该纠结的问题。小弟刚学linux,请大侠们帮忙看怎么写这个脚本,谢谢大家
      

  3.   

    生成的dat文件内容有统一格式,每个字段值逗号隔开,我想用sql loader导入,请问该怎么写
      

  4.   

    这个不难吧,楼主去找找date的用法。
      

  5.   

    小弟没接触过shell编程,查了很多资料没明白,因为马上要导数据比较急,能不能给个脚本参考下
      

  6.   

    参考一下,不知道你是不是这个意思:
    #!/bin/sh   
        
    # 运行测试机的IP   
    RUN_HOST="10.40.53.138"  
      
    #运行测试机的用户名   
    RUN_USER="dpf"  
      
    #运行测试机的密码   
    RUN_PWD="dpf"  
      
    #运行测试机的主目录   
    RUN_DIR="/home/dpf"  
      
    #开发机的IP   
    DEV_HOST="10.40.53.138"  
      
    #开发机的用户名   
    DEV_USER="yy";   
      
    #开发机的密码   
    DEV_PWD="yy"  
      
    #开发机的主目录   
    DEV_DIR="/home/yy"  
      
    #生成文件的包名   
    FILE_NAME=testdpf.tar   
      
    #测试环境的文件或目录集,以dpf开头都做为运行环境文件   
    DIRS="dpf*"  
      
    #测试机的数据库IP   
    EXP_ORA_HOST="10.40.53.138"  
      
    #测试机的数据库用户名   
    EXP_ORA_USER="dpf07"  
      
    #测试机的数据库密码   
    EXP_ORA_PWD="dpf07"  
      
    #测试机oracle用户(可以执行exp命令)   
    EXP_TELNET_USER="oracle"  
    EXP_TELNET_PWD="oracle"  
      
    #测试环境用户下打包文件名   
    DB_FILE="dpf.dmp"  
      
    #导入开发环境的IP   
    IMP_ORA_HOST="10.40.53.138"  
      
    #导入开发环境的oracle用户(可以执行imp命令)   
    IMP_TELNET_USER="oracle"  
    IMP_TELNET_PWD="oracle"  
      
    #导入数据库用户名   
    IMP_DB_USER="dpf1"  
      
    #导入数据库密码   
    IMP_DB_PWD="dpf1"  
      
    #========================   
    #运行环境文件拷贝   
    echo "telnet $RUN_HOST user $RUN_USER/$RUN_PWD"  
    (   
     sleep 1  
      echo $RUN_USER   
     sleep 1  
      echo $RUN_PWD   
     sleep 1  
      echo "tar file:$FILE_NAME "  
      echo "cd $RUN_DIR"  
      echo "tar -zcvf $FILE_NAME $DIRS"  
      echo "uploadfile:$FILE_NAME $DEV_HOST$DEV_DIR"  
      echo "ftp -in $DEV_HOST<<TAREND"  
      echo "user $DEV_USER $DEV_PWD"  
      echo "cd $DEV_DIR"  
      echo "del $FILE_NAME"  
      echo "binary "  
      echo "put $FILE_NAME"  
      echo "bye"  
      echo "TAREND"  
      echo "deletefile: /home/yue/$FILE_NAME"  
      echo "rm $RUN_DIR/$FILE_NAME"  
     sleep 90  
      echo "exit"    
    )| telnet $RUN_HOST   
      
    echo "telnet $DEV_HOST user $DEV_USER/$DEV_PWD"  
    (   
     sleep 1  
      echo $DEV_USER   
     sleep 1  
      echo $DEV_PWD   
     sleep 1  
      echo "cd $DEV_DIR"  
      echo "rm -r $DIRS"  
      echo "tar zxvf $FILE_NAME"  
     sleep 60  
      echo "exit"  
    )|telnet $DEV_HOST   
      
    #运行环境数据库拷贝   
    echo "telnet $EXP_ORA_HOST export db user $EXP_TELNET_USER"  
    (   
      sleep 1  
       echo $EXP_TELNET_USER   
      sleep 1  
       echo $EXP_TELNET_PWD   
      sleep 1  
       echo rm $DB_FILE   
       echo exp $EXP_ORA_USER/$EXP_ORA_PWD file=$DB_FILE   
      sleep 60  
       echo "put $DB_FILE $IMP_ORA_HOST$DEV_DIR"  
       echo "ftp -in $IMP_ORA_HOST<<END"  
         echo "user $DEV_USER $DEV_PWD"  
         echo "cd $DEV_DIR"  
         echo "binarys"  
         echo "put $DB_FILE"  
         echo "bye"  
       echo "END"  
       echo rm $DB_FILE   
      sleep 30  
       echo "exit"  
    )|telnet $EXP_ORA_HOST   
      
      
    echo "telnet $IMP_ORA_HOST imp db user $IMP_TELNET_USER/$IMP_TELNET_PWD"  
    (   
     sleep 1  
      echo $IMP_TELNET_USER   
     sleep 1  
      echo $IMP_TELNET_PWD   
     sleep 1  
      echo cd $DEV_DIR   
     echo imp $IMP_DB_USER/$IMP_DB_PWD file=$DB_FILE fromuser=$EXP_ORA_USER touser=$IMP_DB_USER   
     sleep 90  
      echo "exit"  
    )|telnet $IMP_ORA_HOST