Estou tentando copiar arquivos alterados para godaddy via ssh. Godaddy é terrível e, portanto, é claro que 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 estava me perguntando se talvez eu pudesse scp apenas todos os arquivos php.
Existem muitos subdiretórios, então eu preciso usar a opção -r.
Existe uma maneira que eu possa usar o 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
source/1.php
source/2.php
source/sub
source/sub/3.php
source/sub/4.php
source/sub/DONT-copy.txt
source/sub/DONT-copy.png
source/sub/sub2
source/sub/sub2/5.php
source/sub/sub2/6.php
//command to copy the files
$ [scp command here]
//on remote server
$ find ./destination
destination/1.php
destination/2.php
destination/sub
destination/sub/3.php
destination/sub/4.php
destination/sub/sub2
destination/sub/sub2/5.php
destination/sub/sub2/6.php
ISTO NÃO FUNCIONA
//on local machine
$ find ./source
source/1.php
source/2.php
source/sub
source/sub/3.php
source/sub/4.php
source/sub/DONT-copy.txt
source/sub/DONT-copy.png
source/sub/sub2
source/sub/sub2/5.php
source/sub/sub2/6.php
//command to copy the files
$ cd source; scp -r *.php user@remote:/destination
//on remote server
$ find ./destination
destination/1.php
destination/2.php
Talvez pudéssemos usar o find, mas tenho certeza de que não funcionará como está :
find ./source -name "*.php" -exec scp {} user@remote:{} \;
Isso não funcionará porque não acredito que você possa usar vários operadores {}
no find.
Além disso, pode ser difícil conseguir que os caminhos se alinhem no servidor remoto, por exemplo, se o find estava retornando /users/johndoe/documents/source/1.php
e você queria que ele terminasse em /home/jane/www/destination/1.php
no servidor remoto.