在Linux或Unix环境中,经常要在shell脚本中进行FTP操作,这时可以使用FTP命令,不过要注意的是,有时候我们不想在脚本中写明密码进行登录操作,这时候需要配置一个名为.netrc的文件在用户的/home目录下。

p55a@/home/oracle> cat .netrc
machine erpdatabk login oracle password ******

这样在shell中,就可以直接使用FTP命令了

#Transmit file to erpdatabk(172.16.0.89) by FTP
cd /logic_bk
ftp -v -i 172.16.0.89< bin
mput exp_bak_20090617.dmp
bye
EOFFTP

如果碰到以下错误

.netrc file not correct mode.
Remove password or correct mode.

这是因为.netrc文件的属性不对造成的,修改为600即可:

p55a@/home/oracle> chmod 600 .netrc
p55a@/home/oracle> ls -al .netrc
-rw------- 1 oracle oinstall 58 Jun 18 10:17 .netrc

当然如果直接在shell里写密码登录也是可以的,ftp命令有选项:-n 关闭“自动登录”方式,不必在连接时首先交互式地登录。-i 关闭mput, mget时的确认提示。

ftp -n< open host_ip
user username password
prompt
mget file_name
quit
EOF

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>