curl + ftp用于包含文件和目录的目录

时间:2018-07-28 21:57:23

标签: shell curl scripting ftp travis-ci

我正在尝试编写一个脚本,以帮助我将目录上传到FTP位置。

目录结构如下:

MasterDirectory/
    file1.jpg
    file2.jpg
    ChildDirectory/
        childFile.jpg

理想情况下,我想编写一个执行以下操作的shell脚本:

  • cd MasterDirectory/
  • 重复所有内容
  • 如果有文件,请使用curl -T filename和FTP上传该文件
  • 如果有目录,则上载该目录及其所有内容,包括所有子目录

我可以使用命令curl -T filename.jpg ftp://ftp.server.com --user username:password上传单个文件,但除此之外,我有点迷茫。谁能告诉我我会写什么样的脚本来实现这一目标?

我希望此脚本在Travis CI作业的after-success节点中运行。我不喜欢使用shell脚本的想法,但这感觉是执行此操作的最佳方法。如果有人对Travis CI这样做有更好的主意,我可以提出建议!

非常感谢您可以提供的任何帮助!

1 个答案:

答案 0 :(得分:1)

该用例的结果很像a previous question。如果您可以只运行一行代码而不是编写脚本,则可以使用以下方法实现目标:

find MasterDirectory -type f -exec curl --user username:password --ftp-create-dirs -T {} ftp://ftp.server.com/{} \;