#!/bin/bash
db_host="xxx.xxx.xxx.xx"
db_port="3870"
db_user="xx"
db_pwd="xxxxxxxxxx"
db_name="xx"
#当天文件对应id,需配置
report_id="301"
date=`date --date='0 days ago' "+%Y-%m-%d"`
db_sql="select local_path from r_report_log where report_id = ${report_id} and date_report='${date}'"
#sftp相关信息,上传文件目标地址信息,需配置
sftp_user="xxxxxx"
sftp_pwd="xxxxxxxx"
sftp_port="22"
sftp_ip="xxxxxx"
#上传文件目录
ftp_path="/xx"
MYSQL="mysql -h${db_host} -u${db_user} -p${db_pwd} -P${db_port} -D${db_name} -A -N --default-character-set=utf8"
#文件全路径带文件名 /usr/local/file/my.zip
result="$($MYSQL -e "$db_sql")"
#待上传文件根目录 /usr/local/file
file_path="${result%/*}"
#文件名 my.zip
file_name="${result##*/}"
#重命名文件
file_date=`date --date='0 days ago' "+%Y%m%d"`
#文件后缀 .zip
file_suffix="${result##*.}"
#新文件名 分期-20180620.zip
new_file_name="分期-"${file_date}"."${file_suffix}
#复制文件并改名
if test -s ${result}; then
\cp -r ${result} /${file_path}/${new_file_name}
fi
#lftp客户端采用sftp上传文件
#发送文件 (关键部分)
lftp -u ${sftp_user},${sftp_pwd} sftp://${sftp_ip}:${sftp_port} <<EOF
cd ${ftp_path}/
#上传新文件
lcd ${file_path}
put ${new_file_name}
by
EOF