AlexCONRAD Bonjour à tous, je suis en train de mettre en place des clients rsync pour uploader des logs de machines distantes quotidiennement. Chaque client distant à un identifiant unique ("[font=Courier]id: 123[/font]" par exemple). sur le serveur (rsyncd.conf), j'ai le module suivant: [font=Courier] [logs] comment = Logs path = /home/logs/ read only = no write only = yes [/font] Côté client, j'ai des fichiers logs: [font=Courier] /home/123/logs/20060101_logs.txt /home/123/logs/20060102_logs.txt /home/123/logs/20060103_logs.txt [/font] Je souhaiterais donc que les fichiers soit uploadés sur le serveur avec la structure suivante: [font=Courier] /home/logs/123/20060101_logs.txt /home/logs/123/20060102_logs.txt /home/logs/123/20060103_logs.txt [...] /home/logs/456/20060101_logs.txt /home/logs/456/20060102_logs.txt /home/logs/456/20060103_logs.txt [...] [/font] Côté client j'utilise la syntax suivante pour uploader: [font=Courier] rsync --archive /home/123/logs/ rsync://exemple.com/logs/123/ [/font] Et j'ai l'erreure suivante: [font=Courier] building file list ... 3 files to consider ERROR: destination must be a directory when copying more than 1 file rsync error: errors selecting input/output files, dirs (code 3) at main.c(410) rsync: connection unexpectedly closed (4 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(434) [/font] MA QUESTION: Comment puis-je fais pour créer un répertoire distant en utilisant rsync de manière à ce que je puisse stocker les logs dans des répertoires avec l'id client sur le serveur ? Cordialement, AC.
AlexCONRAD Pas spécifiquement, non. Mais rsync va créer toute l'arborecence des répertoires (récursivement) nécéssaires pour déposer les fichiers au bon endroit. Comme rsync a beaucoup de possibilités de syntax et d'options, je me suis dis qu'on pouvait uploader dans un répertoire qui n'existe pas encore et qu'il soit créé durant l'opération de transfert. J'ai lu (plusieurs fois) le (long) man et peut-etre que je suis passé à côté de l'option. Mais j'espère qu'il y a un 'tips' pour faire ce que je cherche. Ca me parait relativement basic et rsync est plein de possibilités. Y a-t-il une subtilité ? Regards, AC.
Anvil Nope. La page de manuel de rsync est complete. Au mieux tu peux faire creer le dernier sous-repertoire du chemin de destination. Ex: rsync -e ssh -var ./foo user@host:~/pwet creera le pwet s'il n'y est pas.
AlexCONRAD Merci Anvil. Je vais voir ce que je peux bidouiller... sinon j'écrirais mes logs dans ~/123/bla.log et j'uploaderais ~/123 (si j'avais su qu'Anvil était francophone...) /me aka KoRnouille