Python作FTP上傳指令碼、檔案切割壓縮上傳指令碼、迴圈啟動程式指令碼
阿新 • • 發佈:2018-12-10
- 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
希望覺得對您有幫助