FTP上傳文件

#!/bin/bash

ALL_FILE=$0
EXEC=${ALL_FILE##*/}
##########################----------------MODEIFY BEGIN-----------#############################
#Need to modify the native path
SRC_PATH=
SRC_BACK=
SRC_LOG=


#Need to check the tmp path
DEST_TMP=
DEST_PATH=

#FTP host IP,port,account and password, need to be modified   
HOST=
POST=21
USER=
PASSWD=


##########################----------------MODEIFY END ------------#############################

SRC_LOGfile=xxxx.SRC_LOG

function PUT_FILE()
{
ftp -in <<!
        open $1 $2
        use $3 $4
        lcd $5
        cd  $6

        put $7
    mkdir  ${DEST_PATH}
        rename $7 ${DEST_PATH}/$7
        bye
!
}

function CHECKDIR()
{
    if [ ! -e $1 ]; then
        echo "Path  $1 not exist, mkdir" >> ${SRC_LOG}/${SRC_LOGfile}
        mkdir -p  $1
    fi
}

function SIG_LIST_FTP()
{
        find ./ -name "xxx*.*"  | while read filename
        do  


        echo "sub_dir:  ${DEST_TMP}  ${DEST_PATH}  ${filename##*/}"  >> ${SRC_LOG}/${SRC_LOGfile}

        PUT_FILE ${HOST} ${POST} ${USER} ${PASSWD} ${SRC_PATH}  ${DEST_TMP}  ${filename##*/}
        mv -f ${filename##*/} ${SRC_BACK}
        echo `date` ":file ${filename##*/} put to HOST:${HOST} !!!" >> ${SRC_LOG}/${SRC_LOGfile}
        done
}



ps -ef | grep ${EXEC} | grep -v grep| wc -l| grep -v vi|grep -v cat| read record
echo ${record} 
if [[ ${record} -gt 1 ]]
then
        echo ${EXEC} is exist!,${record} 
        exit
fi

CHECKDIR ${SRC_BACK}
CHECKDIR ${SRC_LOG}

cd ${SRC_PATH}

while true
do
        SIG_LIST_FTP
                
        ls -1 -t xxx.* | wc -l| while read fno 
        do
                if [[ ${fno} -lt 1 ]]
                then
                       # echo "no such file to FTP,sleep 60 s" >> ${SRC_LOG}/${SRC_LOGfile}
                        sleep 60
                else
                        echo "The current remaining  waiting for ${fno} file transfer..." >> ${SRC_LOG}/${SRC_LOGfile}
        fi
        done
done





一個ftp上傳文件的模板,要說的很少,找著填就可以了,這里說明一下,用臨時目錄的原因在于ftp的過程中是會產(chǎn)生文件的,但文件可能不完整,最好將整個文件都傳過來了,再用mv 指令移動到目標(biāo)主機(jī)目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容