Exemple:
rsync /tmp/fol1/fol2/fol3/foln user@addr:/tmp/fol1/fol2/fol3/foln
Mon problème principal est que le dossier/tmp/fol1 n'existe pas sur la machine distante.
Quels arguments puis-je utiliser pour forcer rsync à créer cet arbre?
J'ai rencontré le même problème aujourd'hui et j'ai trouvé la solution ici .
Vous pouvez soit faire:
rsync -avR foo/bar/baz.c remote:/tmp/
ou:
rsync -avR somedir/./foo/bar/baz.c remote:/tmp/
créer /tmp/foo/bar/baz.c dans la machine distante.
voir la section --relative/-R
de man rsync
pour plus de détails.
Une astuce consiste à utiliser le paramètre --rsync-path
avec la valeur suivante:
--rsync-path="mkdir -p /tmp/fol1 && rsync"
Avec --rsync-path, vous pouvez spécifier le programme qui sera utilisé pour démarrer rsync sur la machine distante et qui sera exécuté à l'aide d'un shell.
Vous pouvez le faire via bash et ouvrir un tunnel ssh. Créez la structure de fichier dont vous avez besoin pour ensuite rsync les données Ces dossiers temporaires changeront-ils chaque fois que cette synchronisation sera effectuée? Par exemple, est-ce pour chaque jour de la semaine?
ssh user@address
mkdir -p tmp/fol1
rsync avz /tmp/fol1/fol2/fol3/foln user@addr:/tmp/fol1/fol2/fol3/foln
fi