J'essaie de copier les fichiers modifiés dans GoDaddy via SSH. Godaddy est terrible et ils ne permettent bien sûr pas de rsync. Je peux utiliser scp, mais je ne veux vraiment que copier les fichiers modifiés. Je ne pense pas que cela soit possible, alors je me demandais si je pourrais peut-être scp uniquement tous les fichiers php.
Il y a beaucoup de sous-répertoires, cependant, je dois donc utiliser l'option -r.
Puis-je utiliser scp pour copier tous les fichiers avec l'extension php
, récursivement? comme ça:
scp -r -name "*php" /local/html/ user@server:/home/html/
(ne marche pas)
RÉSULTAT DÉSIRÉ
//on local machine $ find ./source source / 1.php source / 2.php source / sous 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 // commande pour copier les fichiers $ [commande scp ici] // sur le serveur distant $ find ./destination destination / 1.php destination / 2.php destination / sous destination / sub / 3.php destination / sub / 4.php destination / sub / sub2 destination / sub / sub2 / 5.php destination / sub / sub2 / 6.php
CELA NE FONCTIONNE PAS
//on local machine $ find ./source source / 1.php source / 2.php source / sous 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 // commande pour copier les fichiers $ cd source; scp -r * .php utilisateur @ distant: / destination // sur le serveur distant $ find ./destination destination / 1.php destination / 2.php
Peut-être pourrions-nous essayer d’utiliser find, mais je suis sûr que cela ne fonctionnera pas tel quel :
find ./source -name "*.php" -exec scp {} user@remote:{} \;
Cela ne fonctionnera pas car je ne pense pas que vous puissiez utiliser plusieurs {}
opérateurs à trouver.
En outre, il peut être difficile d’aligner les chemins sur le serveur distant, par exemple si find retournait /users/johndoe/documents/source/1.php
et vous vouliez que ça finisse à /home/jane/www/destination/1.php
sur le serveur distant.
{}
des jetons? J'ai l'air prometteur (vous pouvez utiliser plusieurs {}
), vous devez peut-être préciser user@remote:~/{}
comme destination.
cat phpfiles.tar | ssh user@remote "cd destination && tar cf -"
transférer tous vos fichiers en une seule fois.