sftp远程传输脚本

该脚本主要是是批量修改文件名,然后传输文件到服务器
#!/bin/bash #脚本名:sftp.sh while true do num=`cat test.txt|wc -l` for ((a=1;a<=$num;a++)) do port=$(awk -v i=$a 'NR==i{print $1 }' test.txt) user=$(awk -v i=$a 'NR==i{print $2 }' test.txt) ip=$(awk -v i=$a 'NR==i{print $3 }' test.txt) serverdir=$(awk -v i=$a 'NR==i{print $4 }' test.txt) clientdir=$(awk -v i=$a 'NR==i{print $5 }' test.txt) password=$(awk -v i=$a 'NR==i{print $6 }' test.txt) #sftp -oport=$port $user@$ip lftp -u ${user},${password} sftp://${ip}:${port} <<EOF cd ${serverdir} lcd ${clientdir} mget *.log.ok.tar.gz by EOF done cd /test for i in `ls *.log.ok.tar.gz` do #获取文件名以第一个匹配到ok的左边字符串 file=${i%ok*} mv $i ${file}ok.ok.tar.gz done done 要让程序在关闭终端以后继续在后台运行,可以执行以下命令 nohup bash sftp.sh >/dev/null 2>&1 & test.txt文件内容如下 22 root 192.168.4.50 /root/yjt /test 123456 22 root 192.168.4.45 /root/yjt /test 123456

 

posted @ 2018-12-17 13:54  北漂-boy  阅读(2081)  评论(0编辑  收藏  举报