Самый простой способ дублировать каталог через FTP


9

Я хочу дублировать каталог на FTP-сервере, к которому я подключен, с моего Mac через командную строку

Допустим, у меня есть file. Я хочу иметь files2со всеми fileподкаталогами и файлами, в том же каталоге, что и оригинал. Какой самый простой способ добиться этого?

РЕДАКТИРОВАТЬ:

С mgetи mputвы можете скачать все файлы и загружать их снова в другую папку , но это определенно не то , что я хочу / необходимость (я начал этот вопрос , пытаясь избежать дублирования с помощью этого метода загрузки загрузки от клиента dektop)

Ответы:


8

То, что у вас есть, это не командная строка Unix, у вас есть сеанс FTP. FTP предназначен в первую очередь для загрузки и выгрузки файлов, он не предназначен для общего управления файлами и не позволяет запускать произвольные команды на сервере. В частности, насколько я знаю, на сервере нет возможности запустить копию файла: все, что вы можете сделать, это загрузить файл, а затем загрузить его под другим именем.

Некоторые серверы поддерживают расширения протокола FTP, и удаленно возможно, что одно из этих расширений позволяет копировать удаленные файлы. Попробуйте help siteили remotehelpпосмотреть, какие расширения поддерживает сервер.

Если вы хотите в командной строке UNIX, необходимо удаленный доступ к оболочке, через RSH ( г Эмоция ш флигель) или чаще в SSH 21 - го века ( с ecure ш флигель). Если это веб-хостинг, проверьте, предоставляет ли он доступ по ssh. В противном случае обратитесь к системному администратору. Но не удивляйтесь, если ответ «нет»: доступ к командной строке будет нарушением безопасности в некоторых многопользовательских установках, поэтому может быть законная причина, по которой он не предлагается.


Я проверю это, я думаю, что это подводит итог всей проблеме очень хорошо !! большое Вам спасибо!!
Труфа

Просто чтобы уточнить, Hostgator предлагает заключить в тюрьму ssh в общих учетных записях.
Труфа

4

Вот как это сделать с помощью lFTP :

# lftp ftp_host
user ftp_user ftp_pass
mirror source target (download entire directory tree)
mirror -R source target (reverse mirror; upload entire directory tree)

1

Сейчас это неправильно, но не восстанавливать, чтобы дерево комментариев не потерялось

cpкопирует файлы и каталоги; Вы можете присвоить этому -rфлагу рекурсивное копирование всего. Из папки, содержащей file:

$ cp -r file files2


Кажется, он не работает, я не упомянул (потому что я думаю, что это будет то же самое), что я пытаюсь сделать это через FTP-соединение, установленное с терминала Mac. Это дает мне эту ошибку: макрос «cp» не найден. Спасибо
Труфа

2
@ Труфа О! Нет, это совсем другое; FTP и командная строка полностью разделены. Я отредактировал ваш вопрос, чтобы, надеюсь, уточнить
Михаэль Мрозек

Мне очень жаль, хотя я бы не возражал, потому что «я использовал командную строку UNIX через FTP», это явно не так! Спасибо за редактирование!
Труфа

это вопрос для stackoverflow? это может быть больше вопрос программирования, чем вопрос UNIX, я не уверен.
Труфа

2
@Trufa Определенно не так. Может быть, SU, но я думаю, что здесь все в порядке
Михаил Мрозек

1

LFTP поддерживает команды более высокого уровня, помимо того, что обеспечивает протокол FTP, например, его mirrorкоманда обеспечивает то, что вы хотите.

Есть другие программы с похожими функциями; sitecopy - другой пример.


Спасибо "" выглядит красиво, посмотрю! Еще один вопрос, когда я получаю доступ через cPanel к администратору файлов? Что я делаю, потому что кажется, что чертовски быстро делать некоторые вещи, чем через ftp.
Труфа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.