linux脚本来自动执行ftp操作

我需要从我的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 

很简单的代码。 但问题是虽然我loginFTP服务器罚款,但它不允许我在FTP服务器中创build一个新的目录。 起初,我认为我的脚本有一些错误,但即使单独运行一个mkdir在ftp服务器,它显示create directory failed 。 有人可以让我知道可能的错误,或者如果我的代码中的任何错误,我错过了。虽然pwd工作正常,这意味着通过脚本login到FTP站点没有问题。

在此先感谢您的帮助

Solutions Collecting From Web of "linux脚本来自动执行ftp操作"

看看期待

一些让你开始的东西

 #!/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" 

大概1ftp(ftp脚本客户端)将是你需要的东西(看你的发行版的包)。 创建目录时出错可能与您尝试创建目录的目录的权限有关。

http://lftp.yar.ru/desc.html

你有没有尝试使用SCP(安全复制)?

scp -r /dir/to/"file.txt“username @ hostname

*如果你在你想发送的文件/文件夹的目录中,那么你不需要定义完整的文件路径

看看这篇文章,如果你想在没有输入密码的SCP。 http://www.thegeekstuff.com/2008/06/perform-ssh-and-scp-without-entering-password-on-openssh/

如果你是root用户或者拥有管理员权限,那么你就不需要用自己的方式创建一个目录。 如果恶意代码捎带你的脚本,最好不用sudo运行远程命令