Eu estou tentando copiar arquivos alterados para godaddy via ssh. Godaddy é terrível e por isso eles não permitem rsync. Eu posso usar scp, mas eu realmente só quero copiar arquivos alterados. Eu não acho que isso é possível, então eu queria saber se eu poderia scp apenas todos os arquivos php.
Existem muitos sub-diretórios, então eu preciso usar a opção -r.
Existe uma maneira que eu possa usar scp para copiar todos os arquivos com extensão php
recursivamente? como isso:
scp -r -name "*php" /local/html/ user@server:/home/html/
(não funciona)
RESULTADO DESEJADO
//on local machine $ find ./source fonte / 1.php fonte / 2.php fonte / sub fonte / sub / 3.php fonte / sub / 4.php fonte / sub / DONT-copy.txt fonte / sub / DONT-copy.png fonte / sub / sub2 fonte / sub / sub2 / 5.php fonte / sub / sub2 / 6.php // comando para copiar os arquivos $ [comando scp aqui] // no servidor remoto $ find ./destination destino / 1.php destino / 2.php destino / sub destino / sub / 3.php destino / sub / 4.php destino / sub / sub2 destino / sub / sub2 / 5.php destino / sub / sub2 / 6.php
ISSO NÃO FUNCIONA
//on local machine $ find ./source fonte / 1.php fonte / 2.php fonte / sub fonte / sub / 3.php fonte / sub / 4.php fonte / sub / DONT-copy.txt fonte / sub / DONT-copy.png fonte / sub / sub2 fonte / sub / sub2 / 5.php fonte / sub / sub2 / 6.php // comando para copiar os arquivos $ cd source; scp -r * .php usuario @ remoto: / destino // no servidor remoto $ find ./destination destino / 1.php destino / 2.php
Talvez pudéssemos tentar usar find também, mas eu tenho certeza que isso não vai funcionar como está :
find ./source -name "*.php" -exec scp {} user@remote:{} \;
Isso não vai funcionar porque eu não acho que você pode usar vários {}
operadores em encontrar.
Além disso, pode ser difícil obter os caminhos para alinhar no servidor remoto, por exemplo, se a localização estava retornando /users/johndoe/documents/source/1.php
e você queria acabar em /home/jane/www/destination/1.php
no servidor remoto.
{}
fichas? Parece promissor (você posso usar múltiplos {}
), talvez você precise especificar user@remote:~/{}
como destino.
cat phpfiles.tar | ssh user@remote "cd destination && tar cf -"
para transferir todos os seus arquivos de uma só vez.