Загрузка папки Bash FTP

Я пытаюсь загрузить папку на свой веб-сайт, желательно через FTP и bash, но, похоже, я не могу заставить это работать. Я установил wput и что-то под названием ncftpput, и оба они не работают. Я просто хочу скопировать всю папку на удаленный сервер. Вот мои пути к папкам, если это поможет.

ftp.example.com/subdomains/cydia
/theme_builder/upload/

Что-то похожее на команду put для каталогов будет работать хорошо. Я тоже не очень хорошо умею использовать ftp в bash. Пока этот сайт меня еще не подводил, так что заранее спасибо!


person Brian Leishman    schedule 08.05.2011    source источник


Ответы (3)


Есть ли у вас достаточный доступ к серверу, чтобы распаковать файл?

Если это так, я бы заархивировал его, перенес и распаковал.

person Paul Creasey    schedule 08.05.2011
comment
Я не могу сделать это таким образом, потому что все это должно быть автоматизировано. - person Brian Leishman; 09.05.2011
comment
хорошо, что растаривание можно автоматизировать, все зависит от того, насколько у вас есть доступ. - person Paul Creasey; 09.05.2011

Вы можете использовать ncftpput. Взгляните на параметр -R (рекурсивный). Со страницы руководства:

You can upload an entire directory tree of files by using the -R  flag.
   Example:

  $ ncftpput -R pikachu.nintendo.co.jp /incoming /tmp/stuff

   This would create a /incoming/stuff hierarchy on the remote host.
person Mel    schedule 08.05.2011
comment
Это то, что я пытался сделать, но я не мог заставить его работать. Всякий раз, когда я пытался его использовать, он просто показывал мне эквивалент --help. - person Brian Leishman; 08.05.2011

Или вы можете просто использовать curlftpfs и (с небольшими оговорками1) делать то же, что и в вашей локальной файловой системе.

Curlftpfs — это файловая система предохранителей, которая работает с ftp-транспортом так же, как sshfs (или sftp) работает с ssh. Таким образом, вы можете смонтировать каталог ftp-сервера в локальной точке монтирования, как обычную файловую систему. Вы можете делать все обычные операции, например. используйте find, touch, cp -r, rsync -hxDPavilyzH --stats --delete или даже просто tar.

О, я рекомендую использовать надлежащим образом защищенный ~/.netrc для хранения учетных данных.

1 некоторые операции, конечно, будут выполняться медленнее, чем необходимо, если вы не помните, что для передачи данных будет использоваться ftp

person sehe    schedule 08.05.2011