#!/bin/bash
#****************************************************************************
#***将/usr/local/data/目录下每天的日志,导入数据库
#***导入某一天数据: ./load2mysql.sh 20140101
#***导入某一段时间数据: ./load2mysql.sh 20140101 20140110
#***不传参数默认导入昨天的数据: ./load2mysql.sh
#****************************************************************************
log_path=load2mysql.log
echo `date +"%Y-%m-%d %T"` >>${log_path}
echo "...开始执行" >>${log_path}
args_num=$#
if [ $args_num -eq 0 ];then
date1=`date -d "-1 day" +"%Y%m%d"`
date2=`date -d "-1 day" +"%Y%m%d"`
elif [ $args_num -eq 1 ];then
date1=$1
date2=$1
elif [ $args_num -eq 2 ];then
date1=$1
date2=$2
else
echo "...参数错误,退出" >>${log_path}
exit
fi
echo "...参数:[${date1}][${date2}]" >>${log_path}
beg_s=`date -d "$date1" +%s`
end_s=`date -d "$date2" +%s`
while [ "$beg_s" -le "$end_s" ];do
datestr=`date -d @$beg_s +"%Y%m%d"`;
echo "...导入[${datestr}]下的数据" >>${log_path}
dir=/usr/local/data/${datestr}
for f in `ls ${dir}`
do
echo "...导入[${datestr}]下$f" >>${log_path}
load_sql="load data infile '${dir}/$f' into table tbl_logs fields terminated by '\t'"
mysql -u root -p'**********' my_db -e "${load_sql}"
done
beg_s=$((beg_s+86400));
done
echo "...结束" >>${log_path}
#mysqldump -u root -p'**********' my_db tbl_logs >tbl_logs.sql
脚本导入日志到mysql
最新推荐文章于 2022-05-19 17:19:18 发布