shell脚本中的FTP到SFTP
此脚本用于连接到不同的服务器并从定义的loaction复制文件。 必须使用sftp而不是ftpshell脚本中的FTP到SFTP,ftp,shell,unix,sftp,Ftp,Shell,Unix,Sftp,此脚本用于连接到不同的服务器并从定义的loaction复制文件。 必须使用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 $
#!/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做类似的事情。我得到的解决方案如下:
#!/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
不管怎样,请要求用户jyotibo在snv41915上更改他们的密码,因为您已经发布了该密码。