我用cron得到了一个缺少错误的方案

use*_*071 1 linux ftp bash cron

当我使用它从ftp服务器下载文件时:

wget ftp://blah:blah@ftp.haha.com/"$(date +%Y%m%d -d yesterday)-blah.gz" /myFolder/Documents/"$(date +%Y%m%d -d yesterday)-blah.gz"
Run Code Online (Sandbox Code Playgroud)

它说"20131022-blah.gz saved"(它下载很好),但我得到这个:

/myFolder/Documents/20131022-blah.gz: Scheme missing (I believe this error prevents it from saving the file in /myFolder/Documents/).

我不知道为什么这不起作用.

anu*_*ava 6

首先将文件名保存在变量中:

OUT=$(date +%Y%m%d -d yesterday)-blah.gz
Run Code Online (Sandbox Code Playgroud)

然后使用-Oswitch输出文件:

wget ftp://blah:blah@ftp.haha.com/"$OUT" -O /myFolder/Documents/"$OUT"
Run Code Online (Sandbox Code Playgroud)
  • 如果没有-O,则输出文件名看起来像要获取的第二个文件/ URL,但它缺少http://或者是ftp://其他一些告诉wget如何访问它的方案.(谢谢@chepner)

  • 如果wget需要时间来下载一个大文件,那么分钟将会改变,你的下载文件名将与保存的文件名不同.