A maneira mais fácil de duplicar o diretório pelo FTP

9

Quero duplicar um diretório em um servidor FTP ao qual estou conectado no meu Mac através da linha de comando

Digamos que sim file. Eu quero ter files2com todos fileos subdiretórios e arquivos, no mesmo diretório que o original. Qual seria a maneira mais simples de conseguir isso?

EDITAR:

Com mgete mputvocê pode baixar todos os arquivos e enviá-los novamente para uma pasta diferente, mas isso definitivamente NÃO é o que eu quero / preciso (iniciei esta pergunta tentando evitar a duplicação com este método de upload de download do cliente dektop)

Trufa
fonte

Respostas:

8

O que você tem não é uma linha de comando unix, o que você tem é uma sessão de FTP. O FTP foi projetado principalmente para carregar e baixar arquivos, não foi desenvolvido para gerenciamento geral de arquivos e não permite executar comandos arbitrários no servidor. Em particular, tanto quanto eu sei, não há como acionar uma cópia de arquivo no servidor: tudo o que você pode fazer é baixar o arquivo e enviá-lo com um nome diferente.

Alguns servidores suportam extensões ao protocolo FTP e é remotamente possível que uma dessas extensões permita copiar arquivos remotos. Experimente help siteou remotehelpveja quais extensões o servidor suporta.

Se você quer uma linha de comando UNIX, você precisa ter acesso shell remoto, via rsh ( r emote sh ell) ou, mais comumente na ssh século 21 ( s ecure sh ell). Se este é um host, verifique se ele fornece acesso ssh. Caso contrário, entre em contato com o administrador do sistema. Mas não se surpreenda se a resposta for não: o acesso à linha de comando seria uma violação de segurança em algumas configurações de vários usuários; portanto, pode haver uma razão legítima para que isso não seja oferecido.

Gilles 'SO- parar de ser mau'
fonte
Vou dar uma olhada, acho que isso resume muito bem a questão !! Muito obrigado!!
Trufa
Apenas para esclarecer, o Hostgator oferece ssh preso em contas compartilhadas.
Trufa
4

Aqui está como fazer isso com o 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)
mbrixner
fonte
1

Isso está errado agora, mas mantendo-se livre de alterações para que a árvore de comentários não se perca

cpcopia arquivos e diretórios; você pode dar a -rbandeira para copiar recursivamente tudo. Na pasta que contém file:

$ cp -r file files2

Michael Mrozek
fonte
Parece que não está funcionando, não mencionei (porque achei que seria o mesmo) que estou tentando fazer isso por meio de uma conexão FTP estabelecida a partir de um terminal Mac. Dá-me este erro: macro 'cp' não encontrada. Graças
Trufa
2
@Trufa Oh! Não, isso é bem diferente; FTP e a linha de comando são completamente separados. Eu editei sua pergunta para esclarecer esperançosamente
Michael Mrozek
Sinto muito, mas eu não me importaria porque "eu estava usando a linha de comando do UNIX via FTP", esse obviamente não é o caso! Obrigado pela edição !!
Trufa
esta é uma pergunta para stackoverflow? pode ser mais uma questão de programação do que uma questão do UNIX, não tenho certeza.
Trufa
2
@ Trufa Definitivamente não é assim. Talvez SU, mas acho que está bem aqui
Michael Mrozek
1

O LFTP suporta comandos de nível superior acima do que o protocolo FTP fornece, por exemplo, seu mirrorcomando fornece o que você deseja.

Existem outros programas com recursos semelhantes; sitecopy é outro exemplo.

efémero
fonte
Obrigado "" parece bom, vai dar uma olhada! Mais uma pergunta, quando acesso o cPanel ao administrador de arquivos? O que estou fazendo, porque parece muito mais rápido fazer algumas coisas do que através do ftp.
Trufa #