Estou usando o PSCP para carregar alguns arquivos do Windows para o Linux. Eu posso fazê-lo bem apenas enviando 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 erro: "pscp: filespec remoto / usr / local / tomcat / webapps / ROOT / includes / *: não é um diretório"
e
pscp -i C:\sitedeploy\abt-keypair.ppk includes\ [email protected]:/usr/local/tomcat/webapps/ROOT/includes/
Lança erro: "scp: includes: não é um arquivo comum"
e
pscp -i C:\sitedeploy\abt-keypair.ppk includes [email protected]:/usr/local/tomcat/webapps/ROOT/includes
Lança erro: "scp: includes: não é um arquivo comum"
-r
?Respostas:
Dois problemas: Primeiro, o * não vai no lado do destino. Segundo,
-r
é para copiar um diretório e subdiretórios inteiros.Copiará todos os arquivos no
includes\
diretório local para o.../includes/
diretório no servidor.Irá 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 se fundirá com qualquer.../ROOT/includes/
diretório existente .fonte
Aviso Legal:
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, pois está usando o Windows. Você pode - por exemplo - usar o cliente WINSCP .
fonte
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 o que está abaixo dele, pode usar
-r
:fonte