需要Shell脚本从ftp链接下载文件吗?

需要Shell脚本从ftp链接下载文件吗?,ftp,download,wget,file-transfer,Ftp,Download,Wget,File Transfer,我需要得到这个文件 到我的站点的服务器。这似乎是一项非常简单的任务。。。但是,我现在找不到解决办法。PHP似乎无法完成这项工作。Wget是我的下一个想法,然而,godaddy安装Wget给了我一个“连接被拒绝”的问题(尽管Wget在我的计算机——mac os x 10.6上可以解决这个问题)。我现在认为这与戈达迪的观点有关,但我坚持我所拥有的。我的目标是编写一个脚本,通过cron作业执行(我需要每天下载这个文件)。有人请帮忙!我快把头发从头上扯下来了!我在这上面花了两个星期! 此外,我还尝试过在

我需要得到这个文件 到我的站点的服务器。这似乎是一项非常简单的任务。。。但是,我现在找不到解决办法。PHP似乎无法完成这项工作。Wget是我的下一个想法,然而,godaddy安装Wget给了我一个“连接被拒绝”的问题(尽管Wget在我的计算机——mac os x 10.6上可以解决这个问题)。我现在认为这与戈达迪的观点有关,但我坚持我所拥有的。我的目标是编写一个脚本,通过cron作业执行(我需要每天下载这个文件)。有人请帮忙!我快把头发从头上扯下来了!我在这上面花了两个星期! 此外,我还尝试过在shell和wget中使用curl。两者都失败了。不幸的是,我只能访问此链接,我没有idx.living.net的ftp登录/垃圾箱/垃圾箱
#!/bin/sh

# ftpget - given an ftp: style URL, unwrap it, and try to obtain the file using ftp.

if [ $# -ne 2 ] && [ $# -ne 3 ]; then
  echo "Usage: $0 ftp://... username [password]" >&2
  exit 1
fi

# Typical URL: ftp://ftp.ncftp.com/2.7.1/ncftpd-2.7.1.tar.gz

if [ "$(echo $1 | cut -c1-6)" != "ftp://" ] ; then
  echo "$0: Malformed url. I need it to start with ftp://" >&2;
  exit 1
fi

server="$(echo $1 | cut -d/ -f3)"
filename="/$(echo $1 | cut -d/ -f4-)"
basefile="$(basename $filename)"
username="$(echo $2)"
password=""
if [ $# -eq 3 ] ; then
  password="$(echo $3)"
fi

#rm $basefile
echo ${0}: Downloading $basefile from server $server

ftp -n << EOF
open $server
user $username $password
bin
get $filename $basefile
quit
EOF

if [ $? -eq 0 ] ; then
  #chmod +x $basefile
  ls -l $basefile
fi

exit 0
#ftpget-给定一个ftp:style URL,将其展开,然后尝试使用ftp获取文件。 如果[$#-ne 2]&&[$#-ne 3];然后 “回声”用法:0美元ftp://... 用户名[密码]“>&2 出口1 fi #典型URL:ftp://ftp.ncftp.com/2.7.1/ncftpd-2.7.1.tar.gz 如果[“$(echo$1 | cut-c1-6)”!=“ftp:/”;然后 echo“$0:格式错误的url。我需要它以ftp://”开头>&2; 出口1 fi server=“$(echo$1 | cut-d/-f3)” filename=“/$(echo$1 | cut-d/-f4-) basefile=“$(basename$文件名)” username=“$(echo$2)” password=“” 如果[$#-eq 3];然后 password=“$(echo$3)” fi #rm$basefile echo${0}:正在从服务器$server下载$basefile
ftp-n用户名和密码在此链接中提供-用户:1034733-密码:ZE3KT69VY14-当我使用wget链接时,它对我有效
wgetftp://1034733:ze3Kt699vy14@idx.living.net/idx_fl_ftp_down/idx_ftmyersbeach_dn/ftmyersbeach_data.zip
是的,wget在我的个人电脑上也能正常工作,但是我在godaddy上托管了这个网站,我遇到了一个连接被拒绝的问题。我想你不允许在你的服务器上建立传出连接。如果可以为您打开防火墙上的特定端口,请与管理员联系。对于不太熟悉shell脚本的成员,一些解释可能会很有用;-)我确信这是一个非常基本的问题,但我对shell脚本不是非常熟悉,所以:如何将我的url放入这个脚本中?好的,快速添加。我试着使用ftp命令,一切正常。。。除了,它告诉我文件或文件夹不存在,然后关闭连接!有什么想法吗?ftp-n还有一条评论,对不起。我修正了最后一个错误,它是一个打字错误。但我现在和戈达迪有了新的问题!ftp脚本在我的本地计算机上运行。。但它在我的godaddy服务器上不起作用。。。我一直收到一个连接被拒绝的错误。为什么会这样?好吧,我现在有个解决办法。为了防止任何人遇到同样的问题,我设置了一个cron作业来运行我自己版本的上述脚本,该脚本将下载文件,解压缩并将必要的文件上载到我的站点!谢谢你们的帮助!非常感谢!