Como posso usar `scp` para implantar um site.htaccess` arquivo?
-
09-06-2019 - |
Pergunta
Atualmente, estou usando o seguinte comando para carregar o conteúdo do meu site:
scp -r web/* user@site.com:site.com/
Isso funciona muito bem, exceto que a .htaccess não é enviada.Presumivelmente, isso é porque ele está escondido.
Eu tentei a adição de uma segunda linha para enviar o arquivo explicitamente:
scp -r web/.htaccess user@site.com:site.com/.htaccess
Isso funciona muito bem, exceto que agora eu tenho que digitar minha senha duas vezes.
Quaisquer pensamentos sobre como fazer este implantar com apenas 1 ou 0 entradas de minha senha?
Solução
Basta combinar os dois comandos:
scp -r web/* web/.htaccess user@site.com:site.com/
Se você deseja 0 entradas de sua senha, você pode configurar autenticação de chave pública para ssh/scp.
Outras dicas
Algumas informações de fundo:o *
curinga não coincide com o chamado "ponto-de ficheiros" (i.é.os ficheiros cujo nome começa com um ponto).
Alguns shells permitem que você defina uma opção, para que ele vai correspondência ponto-arquivos, no entanto, fazer o que está pedindo um monte de dor:agora *
também irá corresponder .
(diretório atual) e ..
(diretório pai), o que normalmente não é o que se pretende e pode ser bastante surpreendente!(rm -rf *
excluir o diretório pai é provavelmente a melhor maneira de começar o dia ...)
Uma palavra de cautela - não tente combinar pontilhada de arquivos (como .htaccess
) com .*
- isso de forma inconveniente, também coincide com ..
, e o resultado seria a cópia de todos os arquivos no caminho para o diretório raiz.Eu fiz isso uma vez (com rm
, não menos!) e eu tive que recriar o servidor, porque eu tinha mexeu com /var
.
@jwmittag:
Eu apenas fiz um teste no Ubuntu e .*
jogos quando eu uso cp
.Aqui está um exemplo:
root@krash:/# mkdir a
root@krash:/# mkdir b
root@krash:/# mkdir a/c
root@krash:/# touch a/d
root@krash:/# touch a/c/e
root@krash:/# cp -r a/c/.* b
cp: will not create hard link `b/c' to directory `b/.'
root@krash:/# ls b
d e
Se .*
não corresponde ..
, e , em seguida, d
não deve ser b
.