阅读更多
例1:
-n禁止第一次连接的时候自动登陆,即不使用.netrc文件;
-i 在多个文件传输期间关闭交互提示,相当于FTP中prompt命令关闭;
#!/bin/bash
ftp -i -n 192.168.167.187 << EOF
user hzc 123456
pwd
cd test
pwd
close
bye
EOF
例2:
#这条语句将从远程主机的 /var/www/fuyatao/目录下将 index.php 下载到本地 /home/fuyatao/目录下。
sftp>get /var/www/fuyatao/index.php /home/fuyatao/
#这条语句将把本地 /home/fuyatao/downloads/目录下的 linuxgl.pdf文件上传至远程主机/var/www/fuyatao/ 目录下。
sftp> put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/
例3:sftp的密钥连接
#!/bin/sh
sftp remote_user@remote_host << EOF
cd /home/remote_user/data/
lcd /home/local_user/data/
-get 20050201 .
-get 20050202 .
-get 20050203 .
-get 20050204 .
-get 20050205 .
quit
EOF
例4:批模式
cd /home/remote_user/data/
lcd /home/local_user/data/
-get 20050201 .
-get 20050202 .
-get 20050203 .
-get 20050204 .
-get 20050205 .
quit
这里存为: sftp_cmds.txt
说明: get命令前加一个"-"以防止其执行错误时sftp执行过程被终止.
以下为脚本示例:
#!/bin/sh
sftp -b ./sftp_cmds.txt remote_user@remote_host