shell脚本中ftp命令
1. -i表示关闭交互式登陆方式,就是就不问你什么帐号密码了
-n表示不使用.netrc自动登陆。.netrc是ftp的初始化文件
2. open 10.1.128.112 3839,这3839表示端口
3. 没错,是用户名密码
4. 这个应该错了在我这ftp下没这个命令,我这是centos 5.4
ftp> put FTPPerformanceTest/2.sh
local: FTPPerformanceTest/2.sh remote: FTPPerformanceTest/2.sh
local: FTPPerformanceTest/2.sh: No such file or directory
执行shell脚本也出错
local: FTPPerformanceTest/2.sh: No such file or directory
改成put $1 $2后正常
5. ftp2put 20Apt.txt 20最终反应到shell脚本中的命令就是put 20Apt.txt 20,即把20Apt.txt上传到ftp服务器并改名为20
6. sleep 1 表示休眠1秒对吧?,对的。
B. shell脚本中ftp连接
你先看看你的IP是不是192开头的并且大多数都是这样的
192.168.1.什么什么的记住第3位一定要是1.
C. shell脚本中取ftp远程服务器文件的问题
ftp使用mget下载多个文件默认有提示,可以增加-i参数,表示不提示:
ftp-i-n<<!
...
一般如果在Windows下编辑的文件,传到linux环境下,文件内容里会因为回车换行表示方式不一样,会出现^M符号,可以在传到linux环境后,可以使用dos2unix等工具转换(该工具因linux版本不同可能并未默认安装)。另外,要注意所传文件是否是二进制还是一般文本文件,如果是二进制文件,最好在get前执行bin命令表示传输二进制文件。
D. 编译一个shell脚本,ftp到主机 新建目录 拷贝文件 删除目录 退出
首先,脚本并不需要知道本身所在主机的IP,所以,用不到10.10.141.91这个源地址。
再次,ftp命令中不支持直接在服务器端新建文件,只能先在本地新建后上传。其实,ftp客户端软件,如CuteFTP也都是这么做的,只是你觉察不到。
#!/bin/bash
host="10.10.142.72"
username="xxxx"
#这里写你的FTP登录用户名
password="xxxxxxx"
#这里写你的FTP登录密码
file1="testexam1"
file2="testexam2"
touch
$file1
touch
$file2
(
ftp
-ni
$host
<<EOF
quote
USER
$username
quote
PASS
$password
cd
/home/query
#切换服务器目录
binary
put
$file1
put
$file2
lcd
/home/query
#切换本地目录
get
$file1
delete
$file1
bye
EOF
)
>/dev/null
2>err.log
E. Linux shell 脚本ftp传输文件
ftp xxxxftp服务器
put命令上传
或者
输入ftp
执行open xxxftp服务器
然后 再执行
put命令上传。
F. shell脚本中ftp问题
ftp 登录后,我感觉是不支持shell语法的(目前还不确定),建议使用mget 下载多个文件!
G. suse 的 b shell 脚本中怎么写 ftp 命令
重点是这一句:ftp -v -i -n 218.200.245.84</home/mediation/config.billing>>/home/mediation/log/ftpcdr.log
从这一句看出所有的FTP命令都是从“/home/mediation/config.billing”此文件中读取的,所以你要的FTP命令都在这个文件中。
