我需要将文件从linux服务器传输到FTP服务器。
我的shell脚本是:
#! /bin/ksh
HOST='my_ip'
USER='userid'
PASSWD='password'
FILE='file.txt'
DIREC='/eir_log'
ftp -in $HOST << EOMYF
user $USER $PASSWD
binary
mkdir $DIREC
cd $DIREC
pwd
quit
EOMYF
非常简单的代码。但问题是,虽然我可以登录FTP服务器,但它不允许我在FTP服务器中创建一个新的目录。起初我认为我的脚本有一些错误,但即使我在ftp服务器上单独运行一个mkdir
,它也会显示create directory failed
。谁能让我知道可能的错误,或者如果我的代码中有任何错误,我遗漏了on.The pwd
工作正常,这意味着通过脚本登录ftp站点没有问题。
提前感谢您的帮助
发布于 2012-09-26 09:05:07
看一看expect
一些帮助你入门的东西
#!/usr/bin/expect
set timeout 120
spawn ftp 192.168.0.210
expect "Name"
send "root\r"
expect "Password:"
send "pass\r"
expect "ftp> "
send "bye\r"
发布于 2012-09-26 09:02:09
也许lftp ( ftp脚本客户端)将会是你需要的(看看你的发行版的包)。创建目录时出错,可能与您尝试在其中创建目录的权限有关。
发布于 2012-09-26 09:04:40
您是否尝试过使用SCP (安全复制)?
scp -r /dir/to/"file.txt“用户名@主机名
*如果您位于要发送的文件/文件夹所在的目录中,则无需定义完整的文件路径
如果您想在不输入密码的情况下使用scp,请参阅本文。http://www.thegeekstuff.com/2008/06/perform-ssh-and-scp-without-entering-password-on-openssh/
https://stackoverflow.com/questions/12598071
复制相似问题