sftp shell 批量上传文件_shell上传文件到sftp场景应用脚本

shell上传文件到sftp场景应用脚本

#!/bin/sh

HOST=192.168.110.20

USER=root

PASS=123456

PORT=1221

DIR=$(date +%Y-%m-%d -d '1 days ago')

cd /data/ftp/

while true

do

du -s > /home/logs/du_1.txt

sleep 300

du -s > /home/logs/du_2.txt

diff /home/logs/du_1.txt /home/logs/du_2.txt

if [ "$?" = 0 ];then

break

else

continue

fi

done

###Archive file#########################################################################

mkdir ${DIR}

find ./ -maxdepth 1 -name "*$(date +%Y%m%d -d '1 days ago')*" -print | xargs -i mv {} ${DIR}

########################################################################################

sleep 2

cd ${DIR}

##################################################################

rename .zip .zip.tmp *.zip

echo "Starting to sftp…"

for zip in `ls *.zip.tmp`

do

lftp -p ${PORT} -u ${USER},${PASS} sftp://${HOST} >> /home/logs/debug.log 2>&1 <

put -c ${zip} -o ${zip%%.*}.zip

bye

EOF

echo "done"

done

rename .zip.tmp .zip *.zip.tmp

###################################################################

sleep 2

###################################################################

rename .dat .dat.tmp *.dat

echo "Starting to sftp…"

for dat in `ls *.dat.tmp`

do

lftp -p ${PORT} -u ${USER},${PASS} sftp://${HOST} >> /home/logs/debug.log 2>&1 <

put -c ${dat} -o ${dat%%.*}.dat

bye

EOF

echo "done"

done

echo "sftp is finish."  > /home/logs/sftp.log

date > /home/logs/sftp.log

rename .dat.tmp .dat *.dat.tmp

###################################################################

©著作权归作者所有:来自51CTO博客作者liang3391的原创作品,如需转载,请注明出处,否则将追究法律责任

liang3391

296篇文章,73W+人气,1粉丝

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值