Estou usando o PSCP para fazer upload de alguns arquivos do Windows para o Linux. Eu posso fazer isso bem apenas fazendo o upload de um arquivo de cada vez. Mas eu tenho alguns diretórios muito grandes e quero fazer upload de um diretório inteiro de uma só vez.
Eu tentei:
pscp -i C:\sitedeploy\abt-keypair.ppk includes\* [email protected]:/usr/local/tomcat/webapps/ROOT/includes/*
Lança o erro: "pscp: remote filespec /usr/local/tomcat/webapps/ROOT/includes/*: not a directory"
e
pscp -i C:\sitedeploy\abt-keypair.ppk includes\ [email protected]:/usr/local/tomcat/webapps/ROOT/includes/
Lança erro: "scp: inclui: não é um arquivo regular"
e
pscp -i C:\sitedeploy\abt-keypair.ppk includes [email protected]:/usr/local/tomcat/webapps/ROOT/includes
Lança erro: "scp: inclui: não é um arquivo regular"
Dois problemas: Primeiro, o * não vai no lado do destino. Segundo,
-r
é para copiar um diretório inteiro e subdiretórios.Copiará todos os arquivos do
includes\
diretório local para o.../includes/
diretório do servidor.Copiará o
includes\
próprio diretório, incluindo todos os arquivos e subdiretórios, para o.../ROOT/
diretório no servidor (onde o conteúdo do diretório local seria mesclado com qualquer.../ROOT/includes/
diretório existente.Isenção de responsabilidade:
Você não precisa usar
-i
para isso. É para autenticação de arquivo de chave privada. Basta usar-r
para copiar os arquivos de origem recursivamente.Você pode querer um método de arrastar e soltar, já que está usando o Windows. Você pode, por exemplo, usar o cliente WINSCP .
Se você deseja copiar um diretório e seu conteúdo, não precisa fornecer uma especificação de arquivo para o destino. Basta usar o nome do diretório, por exemplo.
Se você deseja copiar o diretório e tudo abaixo dele, pode usar
-r
:Se você quiser copiar a própria pasta com tudo que está nela, você deve usar um comando como abaixo:
Mas observe que não há barra no final do caminho da pasta "C:\FOLDER"; se você usá-lo com uma barra final como "C:\FOLDER1\", ele não copia a pasta em si, mas apenas copia tudo sob a pasta.