J'essaie de synchroniser un grand répertoire de fichiers de mon serveur vers une boîte locale. (Les deux exécutent Ubuntu.) J'ai une commande qui semble fonctionner, mais certains fichiers ne sont pas copiés:
phrogz@planar:~$ cat ./sync-phrogz-public
rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net/public
phrogz@planar:~$ ./sync-phrogz-public
Number of files: 10320
Number of files transferred: 0
Total file size: 4221864770 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 197778
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 388
Total bytes received: 199213
sent 388 bytes received 199213 bytes 79840.40 bytes/sec
total size is 4221864770 speedup is 21151.52
phrogz@planar:~$ la /var/www/phrogz.net/public/svg/convert*
-rw-r----- 1 phrogz www-admin 6404 2011-02-26 21:49 /var/www/phrogz.net/public/svg/convert_path_to_polygon.xhtml
phrogz@planar:~$ ssh 69.46.18.236 'ls -Fla /var/www/phrogz.net/public/svg/convert*'
-rw-r--r-- 1 phrogz phrogz 1951 2011-12-04 09:07 /var/www/phrogz.net/public/svg/convert_matrix.html
-rw-r--r-- 1 phrogz phrogz 6404 2011-02-26 21:49 /var/www/phrogz.net/public/svg/convert_path_to_polygon.xhtml
Comme vous pouvez le voir, le fichier convert_matrix.html
n'a pas été copié.
- Que fait la commande, sinon la copie de fichiers?
- Comment puis-je faire pour copier réellement les fichiers?
/var/www/phrogz.net/public/public
?public
tant que sous-dossier, et vous avez 25 rep :)rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net
- devrait le faire.Réponses:
Vous pouvez simplifier votre commande pour
Ou bien
Comme vous le voyez,
rsync
interprète différemment une source avec ou sans fin/
.Également,
-a
est équivalent à-rtplogD
, (en ce qui concerne votre ligne de commande,-a
ajoute également-o
, conserve le propriétaire,,-g
conserve le groupe et-D
, préserve les périphériques et les fichiers spéciaux).Enfin, l'
--rsh
option est redondante lorsque la source ou la destination est dans le formulairehost:/path
, avec un seul:
.la source