Synology je ne parviens pas à copier correctement et rapidement beaucoup de données d'un NAS à un autre ?

Je viens de penser qu'il y avait une autre solution, peut-être plus simple et plus sûre : utilser rsync depuis la ligne de commande.
Dis-nous si ça t'intéresse :)
 
  • J'aime
Réactions: sypqys
je pense que ce sera compliqué pour moi, le téléchargement n'a pas commencé... je peux essayer si le transfert est plus rapide...
Je ne suis pas sûr que ce sera plus rapide, mais je pense que oui, tu ne passeras pas par DSM et FileStation...
Voilà la commande pour envoyer un dossier depuis le NAS source, vers le NAS destination (IP = 192.168.1.100), dont le port SSH est 222 (à changer par ta valeur de port) :
Bash:
rsync -avXh -e 'ssh -p 222' --progress --stats --syno-acl --exclude={'@eaDir','#recycle','~$*.*','~*','~*.tmp','desktop.ini','.DS_Store'}  --log-file=/volume2/TEMP/rsync_transfer.log /chemin_vers/dossier_source/ rsync://Utilisateur_du_NAS_destination@192.168.1.100:/volume1/dossier_dest/

  • L'option --syno-acl est là pour préserver les permissions du Syno, mais que si tu as les mêmes users sur les deux NAS ;
  • -e 'ssh -p 222' : c'est pour chiffrer le transfert, ce n'est pas nécessaire dans un LAN. Tu peux l'enlever.
  • --exclude={'xxxx', 'yyyy'} : c'est pour exclure des dossiers ou fichiers. À adapter à ton cas ;
  • --log-file=/volume2/TEMP/rsync_transfer.log : permet de récupérer la sortie de la commande rsync pour vérifier où il y a une erreur s'il y en a une, très utile quand les dossiers ont des milliers de fichiers/dossiers...
  • Il faut que le dossier de destination /volume1/dossier_dest/ soit créé avant la commande
  • Il faut bien penser à mettre le / à la fin du chemin d'origine : /chemin_vers/dossier_source/, sinon le dossier_source sera créé dans le dossier_dest, donc tu auras : /volume1/dossier_dest/dossier_source. Ce n'est probablement pas ce que tu souhaites :)

Lire la doc ici : https://doc.ubuntu-fr.org/rsync
Prête attention à ceci :
1673878881315.png

Je ne suis pas un expert dans les commandes rsync, mais grâce à @EVOTk j'ai pu progresser un peu :)
La doc ubuntu-fr est plutôt bien faite.

Tu ne risques rien ici à te planter :) si ce n'est d'inverser source et destination XD
Mais essayes et tu verras bien si c'est plus rapide ou pas.
 
  • J'aime
Réactions: sypqys
Peur de confondre le NAS source et destinataire, du coup je reporte...

Si ça plante, je ferai différemment.

Merci beaucoup pour ce long tuto complet "rsync"...

Je peux l'utiliser pour transférer dossier par dossier ? au lieu de copier/coller tout le contenu du NAS 1 (source : DS216j) vers le NAS 2 (destinataire : DS720+).
 
je pense être capable de suivre les directives. Par contre, est-ce que le port SSH "22", est à activer, car telnet est désactivé, j'ai activé SSH et le port est à 22 mais uniquement sur le DSM du NAS de destination.

Le NAS source, je ne trouve pas le port SSH, peut être ai-je mal cherché...

Merci beaucoup encore pour ce beau tuto !
 
Je ne suis pas sûr que ce sera plus rapide, mais je pense que oui, tu ne passeras pas par DSM et FileStation...
Voilà la commande pour envoyer un dossier depuis le NAS source, vers le NAS destination (IP = 192.168.1.100), dont le port SSH est 222 (à changer par ta valeur de port) :
Bash:
rsync -avXh -e 'ssh -p 222' --progress --stats --syno-acl --exclude={'@eaDir','#recycle','~$*.*','~*','~*.tmp','desktop.ini','.DS_Store'}  --log-file=/volume2/TEMP/rsync_transfer.log /chemin_vers/dossier_source/ rsync://Utilisateur_du_NAS_destination@192.168.1.100:/volume1/dossier_dest/

  • L'option --syno-acl est là pour préserver les permissions du Syno, mais que si tu as les mêmes users sur les deux NAS ;
  • -e 'ssh -p 222' : c'est pour chiffrer le transfert, ce n'est pas nécessaire dans un LAN. Tu peux l'enlever.
  • --exclude={'xxxx', 'yyyy'} : c'est pour exclure des dossiers ou fichiers. À adapter à ton cas ;
  • --log-file=/volume2/TEMP/rsync_transfer.log : permet de récupérer la sortie de la commande rsync pour vérifier où il y a une erreur s'il y en a une, très utile quand les dossiers ont des milliers de fichiers/dossiers...
  • Il faut que le dossier de destination /volume1/dossier_dest/ soit créé avant la commande
  • Il faut bien penser à mettre le / à la fin du chemin d'origine : /chemin_vers/dossier_source/, sinon le dossier_source sera créé dans le dossier_dest, donc tu auras : /volume1/dossier_dest/dossier_source. Ce n'est probablement pas ce que tu souhaites :)

Lire la doc ici : https://doc.ubuntu-fr.org/rsync
Prête attention à ceci :
Voir la pièce jointe 7752

Je ne suis pas un expert dans les commandes rsync, mais grâce à @EVOTk j'ai pu progresser un peu :)
La doc ubuntu-fr est plutôt bien faite.

Tu ne risques rien ici à te planter :) si ce n'est d'inverser source et destination XD
Mais essayes et tu verras bien si c'est plus rapide ou pas.

Où lancer cette cmd rsync ?

je suis perdu, merci de m'indiquer svp, j'ai essayer de comprendre mais je ne vois pas où me rendre...

Merci
 
Dernière édition:
Où lancer cette cmd rsync ?

je suis perdu, merci de m'indiquer svp, j'ai essayer de comprendre mais je ne vois pas où me rendre...

Merci
Il faut aller dans un terminal SSH, et pour savoir depuis quel NAS la lancer, il faudrait regarder un peu en détail ce que fait cette commande, ce n'est pas si complexe que ça...
Mais bon... il faut la lancer depuis le NAS source.
 
  • J'aime
Réactions: sypqys