- python上传FTP脚本
#auther:Dennie
#time:2018-08-09
#first is ftp path second is fold path third is filename
#-*-coding=utf-8-*-
from ftplib import FTP
import os,time,datetime
import sys
remotepath=sys.argv[1]
path=sys.argv[2]
fileName=sys.argv[3]
ftp=FTP()
ftp.set_debuglevel(2)
ftp.connect("*.*.*.*", "21") #链接ftp服务器
ftp.login("user","123456")#输入用户名密码
print ftp.getwelcome()
ftp.cwd(remotepath)
bufsize=1024
filename=fileName
newFilePath=path+fileName
fp = open(newFilePath, 'rb')
ftp.storbinary('STOR %s' % filename, fp, bufsize)
ftp.set_debuglevel(0)
ftp.quit()
- 文件切割压缩上传脚本
#!/bin/bash
#created by Dennie
#path : /app/nfs_data05/table_data/xbTest/
#fileName : user_info_01.gz
#ftpPath : tyxb/finish/
source /home/was/.bash_profile
path=$1
fileName=$2
ftpPath=$3
newfilename=${fileName}"."
cd $path
#以800w行做切割文件,压缩后,调用上面脚本运行
split -l 8000000 -d -a 2 ${fileName} ${newfilename}
gzip ${newfilename}*
for file in $( ls -l|grep gz|grep ${newfilename}|awk '{print $9}')
do
echo "" >> /app/nfs_data05/shell/log.log
echo "[$(date +'%Y-%m-%d %H:%M:%S')]开始上传${fileName}!" >> /app/nfs_data05/shell/log.log
cd /app/nfs_data05/shell/
python ftpPut.py ${ftpPath} ${path} ${file}
done
if [ $? -eq 0 ];then
echo "[$(date +'%Y-%m-%d %H:%M:%S')]上传成功${fileName}" >> /app/nfs_data05/shell/log.log
else
echo "[$(date +'%Y-%m-%d %H:%M:%S')]上传失败${fileName}!" >> /app/nfs_data05/shell/log.log
fi
- 循环启动程序脚本
#!/bin/bash
#auther Dennie
#批量追数据用
#开始时间
beg_s=`date -d "$1" +%s`
#结束时间
end_s=`date -d "$2" +%s`
echo "" > a.text
while [ "$beg_s" -le "$end_s" ];do
day=`date -d @$beg_s +"%Y%m%d"`;
echo "当前日期:$day" >> a.text
sh /app/nfs_data05_log/etlshell/pt_deal_order_zsj/pt_deal_order_zsj.sh $day
sleep 10
num=1
while [ $num -le 40 ]
do
num=$((num + 1))
pid=`ps -ef|grep kitchen |grep $day |wc -l`
if [ $pid -eq 0 ]
then
echo $day" end: " $(date '+%Y-%m-%d %H:%M:%S') >> a.text
sleep 5
break
else
sleep 10
fi
done
beg_s=$((beg_s+86400));
done
希望觉得对您有帮助