SCP ne transfère que les fichiers modifiés


30

J'utilise la commande ci-dessous pour transférer des fichiers entre les serveurs

scp -rc blowfish /source/directory/* username@domain.net:/destination/directory

Existe-t-il un moyen de transférer uniquement des fichiers des fichiers modifiés, tout comme la updatecommande pour cp?

Réponses:


52

rsync est votre ami.

rsync -ru /source/directory/* username@domain.net:/destination/directory

Si vous souhaitez qu'il supprime des fichiers à la destination qui n'existent plus à la source, ajoutez l' --deleteoption.


4
Cependant, si vous effectuez une synchronisation avec un serveur Web et que ce serveur met en cache HTML, vous ne voudrez peut-être pas l'utiliser --delete, car les visiteurs d'une page obsolète peuvent demander un actif qui n'existe plus.
Jackson

@Jackson un processus propre n'inclura pas de données variables comme les caches ou les configurations dans les sources.
Chris Pillen

Dans certains cas, j'ai affaire à des serveurs en dehors de mon domaine qui n'en ont pas rsyncmais en ont scp. Existe-t-il une solution comparable, même si elle nécessite quelques lignes de script?
iX3

La réponse est utile, mais la question était de savoir si cela peut être réalisé avec scp lui-même.
Mladen B.

1

Généralement, on demande scp car il y a une raison. Ie ne peut pas installer rsyncd sur la cible.

files=`find . -newermt "-3600 secs"`

for file in $files
do
       sshpass -p "" scp "$file" "root@$IP://usr/local/www/current/$file"
done
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.