shell 脚本中的 FTP 到 SFTP

发布于 2024-09-01 06:05:14 字数 951 浏览 6 评论 0原文

该脚本用于连接到不同的服务器并从定义的位置复制文件。 必须使用 sftp 而不是 ftp。

#!/usr/bin/ksh -xvf

Detail="jyotibo|snv4915|/tlmusr1/tlm/rt/jyotibo/JyotiBo/        jyotibo|snv4915|/tlmusr1/tlm/rt/jyotibo/JyotiBo/"

password=Unix11!
c_filename=import.log
localpath1=`pwd`
for i in $Detail
        do

                echo $i
                UserName=`echo $i | cut -d'|' -f1`
                echo $UserName
                remotehost=`echo $i | cut -d'|' -f2`
                echo $remotehost
                remote_path=`echo $i | cut -d'|' -f3`
                echo $remote_path
                {
                echo "open $remotehost
                user $UserName $password
                lcd $localpath1
                cd $remote_path
                bi
                prompt
                mget $c_filename
                prompt
                "
                } |ftp -i -n -v 2>&1


        done

我想使用 sftp 而不是 ftp 来做类似的事情。

This script is to connect to different servers and copy a file from a loaction defined.
It is mandatory to use sftp and not ftp.

#!/usr/bin/ksh -xvf

Detail="jyotibo|snv4915|/tlmusr1/tlm/rt/jyotibo/JyotiBo/        jyotibo|snv4915|/tlmusr1/tlm/rt/jyotibo/JyotiBo/"

password=Unix11!
c_filename=import.log
localpath1=`pwd`
for i in $Detail
        do

                echo $i
                UserName=`echo $i | cut -d'|' -f1`
                echo $UserName
                remotehost=`echo $i | cut -d'|' -f2`
                echo $remotehost
                remote_path=`echo $i | cut -d'|' -f3`
                echo $remote_path
                {
                echo "open $remotehost
                user $UserName $password
                lcd $localpath1
                cd $remote_path
                bi
                prompt
                mget $c_filename
                prompt
                "
                } |ftp -i -n -v 2>&1


        done

I want to do the similar thing using sftp instead of ftp.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故人爱我别走 2024-09-08 06:05:14

我得到的解决方案如下:

#!/usr/bin/ksh -xvf

Detail="jyotibo|snv4915|/tlmusr1/tlm/rt/jyotibo/JyotiBo/|import.log     jyotibo|snv4915|/tlmusr1/tlm/rt/jyotibo/JyotiBo/|impor
t_1.log"


for i in $Detail
        do
                echo $i
                remote_path=`echo $i | cut -d'|' -f3`
                file_Name=`echo $i | cut -d'|' -f4`
                echo "cd $remote_path" > .jyoti.batch.dat
                echo "get $file_Name" >> .jyoti.batch.dat
                echo "bye" >> .jyoti.batch.dat
                UserName=`echo $i | cut -d'|' -f1`
                echo $UserName
                remotehost=`echo $i | cut -d'|' -f2`
                echo $remotehost
                sftp -b .jyoti.batch.dat $UserName@$remotehost       
         done
rm -f  .jyoti.batch.dat

The solution i got is below:

#!/usr/bin/ksh -xvf

Detail="jyotibo|snv4915|/tlmusr1/tlm/rt/jyotibo/JyotiBo/|import.log     jyotibo|snv4915|/tlmusr1/tlm/rt/jyotibo/JyotiBo/|impor
t_1.log"


for i in $Detail
        do
                echo $i
                remote_path=`echo $i | cut -d'|' -f3`
                file_Name=`echo $i | cut -d'|' -f4`
                echo "cd $remote_path" > .jyoti.batch.dat
                echo "get $file_Name" >> .jyoti.batch.dat
                echo "bye" >> .jyoti.batch.dat
                UserName=`echo $i | cut -d'|' -f1`
                echo $UserName
                remotehost=`echo $i | cut -d'|' -f2`
                echo $remotehost
                sftp -b .jyoti.batch.dat $UserName@$remotehost       
         done
rm -f  .jyoti.batch.dat
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文