因此,我有一个Bash脚本,可以从远程位置下载某些文件。该位置具有特定的目录结构,例如:./20190111/poud/
或换言之/yyyymmdd/poud/
。里面有一堆文件。我要做的是将这些文件下载到相同结构的本地位置。我目前有以下代码,其中使用lftp下载这些文件:
lcd ${BASE_DIR}/tmp || exit 252
mget -c -d -E ./${PREV_MONTH_MASK}/poud/*8F.*
mget -c -d -E ./${CURRENT_MONTH_MASK}/poud/*8F.* || exit 200
这确实有效,但有时会因以下错误而失败:
mget: ./20190111/poud/certainfile.ext: ${LOCAL_PATH}/tmp/20190111/poud/certainfile.ext: No such file or directory
。
每当我随后手动创建目录tmp/20190111/poud
时,它将成功下载。其他文件已正确传输,并且目录已成功创建。所以我想知道,是否有一种方法可以强制lftp在下载之前始终创建所需的目录?
我已经创建了一个解决方案,在下载任何文件之前,我只生成了整个月的结构,但是我敢肯定有更好的方法。
谢谢!