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