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/* [email protected]:/destination/directory

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

Développeur passionné
la source

Réponses:

52

rsync est votre ami.

rsync -ru /source/directory/* [email protected]:/destination/directory

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

Flup
la source
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
Angelo Dureghello
la source