web-dev-qa-db-fra.com

Comment RSYNC un seul fichier?

Actuellement, je ne fais que resynchroniser le Directories comme:

* * * * * rsync -avz /var/www/public_html/images root@<remote-ip>:/var/www/public_html

Alors, comment puis-je rsync un seul fichier comme, /var/www/public_html/.htaccess?

75
夏期劇場

Vous le faites comme un répertoire, mais vous spécifiez le chemin d'accès complet au nom de fichier comme source. Dans votre exemple:

rsync -avz /var/www/public_html/.htaccess root@<remote-ip>:/var/www/public_html/
132
Michael Place

Syntaxe de base

rsync options source destination

Exemple

rsync -az /var/www/public_html/filename root@<remote-ip>:/var/www/public_html

en savoir plus

14
Techie

La réponse de Michael Place fonctionne à merveille si, par rapport au répertoire racine de la source et de la cible, tous les répertoires du chemin du fichier existent déjà.

Mais que se passe-t-il si vous souhaitez synchroniser un fichier avec ce chemin source:

/ source-root/a/b/fichier

dans un fichier avec le chemin cible suivant:

/ target-root/a/b/fichier

et les répertoires a et b n'existent pas?

Vous devez exécuter une commande rsync comme suit:

rsync -r --include="/a/" --include="/a/b/" --include="/a/b/file" --exclude="*" [source] [target]
11
Kenny Evitt