在Linux 下写了一个脚本

#!/bin/sh
#cd
ftp -n -i 192.168.0.1 <<EOF
user username userpassword
passive
cd /jbpm
prompt
prompt
mput /var/lib/mysql/jbpm/*.* jbpm2010
quit
EOF

exit

 

  结果FileZilla报550错.

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> STOR /var/lib/mysql/jbpm/qdcm_pow_items.frm
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 550 Filename invalid
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> PORT 192,168,0,1,36,148
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 200 Port command successful
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> STOR /var/lib/mysql/jbpm/qdcm_pow_sh.frm
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 550 Filename invalid
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> PORT 192,168,0,1,36,149
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 200 Port command successful
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> STOR /var/lib/mysql/jbpm/qdcm_tool_note.frm
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 550 Filename invalid
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> PORT 192,168,0,1,36,150
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 200 Port command successful
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> STOR /var/lib/mysql/jbpm/test.frm
(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 550 Filename invalid 

 

尝试了好多把后,在网上搜了N吧,可能原因是路径/var/lib/mysql/jbpm/*.*,在脚本前加入 cd /var/lib/mysql/jbpm/,然后再mput *.* 就不报错了。原来FileZilla默认将/var/lib/mysql/jbpm/作为保存路径,在FTP服务器上自然就找不到这个路径。修改后就不报 错了。

 

在Linux代码中使用prompt的目的是将Interactive mode 设置成off,这样的话在传文件时就不会有询问yes/no对话框。

每次使用 prompt时,Interactive mode的状态就会改变,prompt on 或 off命令不起作用,并不能达到预期效果。


相关文章:

  • 2022-01-22
  • 2021-09-10
  • 2022-12-23
  • 2022-12-23
  • 2021-10-19
  • 2023-03-20
猜你喜欢
  • 2022-12-23
  • 2021-05-03
  • 2021-12-12
  • 2021-07-16
  • 2022-02-07
  • 2021-07-22
  • 2022-01-30
相关资源
相似解决方案