Aller au contenu

Commande Pour Copier Fichiers Pc Sur Nas


Firion74

Messages recommandés

Bonjour,

Etant totalement largué avec les histoires de scripts j'ai beaucoup de mal à faire ce que je désire au niveau des copies de fichiers. Bref j'ai pas le encore niveau... faut que je revienne dans 1000ans :rolleyes:

J'aimerai au final créer une tâche pour copier le contenu d'un dossier de mon C: sur le NAS

En fouinant à droite et à gauche sur le forum j'ai "recopié puis bricolé" au départ cette commande pour copier le contenu d'un dossier du volume 1 dans un autre dossier du volume 1. ça marche mais j'avoue que je ne comprends pas trop ce que je fais pour... et c'est grave, presque un crime cette ignorance!!!:

#!/bin/sh
PATH=/bin:/usr/bin:/usr/syno/bin # rsync est dans /usr/syno/bin
La première partie je ne pige pas à quoi elle sert :blink:
reptest="/volume1/Commun/Test"
repBck="/volume1/Commun/Test2"
La deuxième partie on affecte un "raccourci" au chemins utilisés (source(reptest) et destination(repBck)) pour simplifier le script de commande, j'ai bon?
rsync -av "$reptest/" "$repBck/" # important les "/" finaux pour rsync
synoindex -R "$repBck"
La troisième partie ça reste assez flou mais en gros on lance la synchro entre la source et la destination!!
[ -t 0 ] || exec >/volume1/Commun/Test/Test_backup.log 2>&1
A la fin on crée un fichier Test_backup.txt dans le répertoire de destination pour vérifier que le script à bien été lancé à l'heure prévue... (le fichier txt est vide, c'est normal?...)
Ce premier script marche chez moi mais je pense qu'il y a mieux et plus simple encore...
Voici une variante du script pour copier un dossier de mon C: sur le NAS...et là je bloque:
#!/bin/sh
PATH=/bin:/usr/bin:/usr/syno/bin # rsync est dans /usr/syno/bin
repRT2012="/SOQUETTE/Users/Stephane/Documents/Climawin 2005/Projets" * Je ne sais pas comment écrire correctement cette ligne pour avoir accès à mon dossier source;
repBck="/volume1/Commun/Test2"
rsync -av "$repRT2012/" "$repBck/" # important les "/" finaux pour rsync
synoindex -R "$repBck"
[ -t 0 ] || exec >/volume1/Commun/Test2/Test.log 2>&1
Pour info SOQUETTE est le nom de mon PC sur le réseau et le dossier users est en partage "lecture/écriture" dans SOQUETTE.
Dois je rentrer une adresse IP, le login et password du PC? le login et password du NAS?
Peut-on créer un dossier à la date du jour dans le dossier de destination genre le 20/03 on copie dans Test2/ SAV-2015_03_20 et le 21/03 dans Test2/ SAV-2015_03_21 tout en conservant la sav du 20?
Je continue de chercher de mon côté dans les tutos du forum mais ça reste pour le moment du chinois :P
Merci d'avance de votre aide ;)
Lien vers le commentaire
Partager sur d’autres sites

la, tu crée un script qui s'execute sur ton nas, donc pour avoir acces à ton pc, faut partagé les dossier sur ton pc avant,

ou utiliser une autre methode :

tu crée sur ton nas un dossier partagé ou tu veux que les fichier arrive, tu n'oublie pas de te mettre les droits

sur le pc, tu crée un simple script de ce genre :

copy c:pathtofolder*.* ip_du_nasdossier_partagé

que tu met dans le planificateur de tache

c'est aussi simple que cela ;)

Lien vers le commentaire
Partager sur d’autres sites

Tu peux utiliser un script du genre en mettant les bonnes informations pour ce qui concerne l'adresse ip et tout le reste (en gras):

@echo off
echo Montage reseau sur lecteur O en cours
NET USE O: <Adresse IP du NAS><Nom du dossier partage> <mot de passe> /USER:<nom d'utilisateur>
echo Montage reseau effectue sur O:

echo Lancement de la sauvegarde
copy c:pathtofolder*.* O:
echo Fin de la sauvegarde

echo Deconnection du montage reseau O
NET USE O: /delete
pause


Tu mets tout cela dans un fichier bat et puis tu le lances sur ton PC

Modifié par loli71
Lien vers le commentaire
Partager sur d’autres sites

Bon j'ai essayé ton script mais ça coince quand je lance le script lors du montage du lecteur O: ... Je suis vraiment un cas despérant :rolleyes: mais encore merci pour ton aide.

J'ai tenté une autre approche, pas vraiment optimisée, mais qui marche avec mon faible niveau NAS pour le moment et qui convient à "l'esprit" de ce que je voulais faire au départ :P

--> Créer sur le NAS, un "miroir" des photos ou tout autres doc présents sur le PC

--> Donc à chaque fois que je rajoute des photos, que je crée, supprime ou déplace un dossier dans mon dossier photos (ou autre) du PC, cela le fait automatiquement sur le NAS à la synchro suivante.

--> Dans un dernier temps utiliser Time BAckup pour faire du "versionning" des dossiers sur un deuxième NAS de secours (Non traité ici)

--> Je pars donc du principe que le NAS me sert de sauvegarde "temporaire" (entre 2 synchro) de mon travail et que le travail de tri/classement se fait uniquement sur le PC (dans mon cas 1 fois tout les 2 mois pour les photos)

Je vais donc détailler ma solution si ça peut aider quelqu'un:

1°) Panneau de configuration du NAS: Créer 2 nouveaux dossiers partagés avec tout les droit en lecture/écriture, dans mon cas "SAV_PC" et "Photos_Perso"

2°) Data Replicator 3 sur PC: . Sélectionner dans le autre emplacement le dossier de destination de sauvegarde //DISKSTATION/SAV_PC

en renseignant le login/pass du NAS

. Sélectionner dans le PC les dossiers à sauvegarder sous le NAS, dans mon cas mon dossier photo

. Dans les options cocher l'option "lorsque les fichiers locaux sont éliminés, supprimez également au même moment les fichiers

de sauvegarde correspondants", et décocher l'option "Activer versions de fichier"

. Planifier la tâche ou l'exécuter de suite

3°) Sous le NAS: Quand vous retournez dans le dossier "SAV_PC", les dossiers sont mélangés dans une arborescence à rallonge, ce qui n'est pas pratique pour la gestion. :blink:

NB: Avec l'option "lorsque les fichiers..." cochée dans data replicator, il faut bien se dire que si un dossier ou fichier est supprimé à la source, il le sera de même dans le répertoire de destination à la prochaine synchronisation.

4°) Panneau de configuration NAS - Planificateur de tâche:

. Créer une nouvelle tâche et rentrer le script suivant:

#!/bin/sh
PATH=/bin:/usr/bin:/usr/syno/bin # rsync est dans /usr/syno/bin

repPhoto="/volume1/SAV_PC/DR-MYPC-MOI/latest/DRIVED/Documents Perso/Photos Perso" # emplacement dossier source suite à la synchro de Data Replicator 3
repBck="/volume1/Photos_Perso" # emplacement dossier destination

rsync -av --delete-after "$repPhoto/" "$repBck/" # lance la commande rsync et à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source.
synoindex -R "$repBck"

[ -t 0 ] || exec >/volume1/Photos_Perso/Test.log 2>&1 # crée un fichier log pour vérification

Bon ce script marche mais demande à être amélioré :D

Après il ne reste plus qu'à planifier tout les programmes (Data Replicator3 (1 fois tout les lundis), Planificateur de tâche (1 fois tout les Mercredis pour laisser un peu de marge en cas de mauvaise manip), Time backup (tout les mois en gardant les versions précédentes, une fois que le NAS n°2 sera en place)

--> Attention aux problèmes de superpositions de planifications

Pour le moment l'inconvénient de cette méthode est:

- que l'on se retrouve avec 3 fois la version des documents sous le NAS (2 fois avec Replicator, et 1 fois dans le dossier Photo_Perso), ce qui multiplie par 3 la place prise par les documents (dans mon cas je n'ai que 100Go de photos ^_^ donc sur mon NAS 3To c'est pas la mort pour le moment).

- le dossier "photo" du NAS est à remplir manuellement si on veut utiliser l'application DS Photo, ce qui est pas plus mal si on ne veut pas mettre toutes ses photos en dispo.. donc encore +1x pour la place prise sur le NAS.

;)

Lien vers le commentaire
Partager sur d’autres sites

Oui après un troisième essai à tête reposée et sans stress, je confirme que les scripts fonctionnent à merveille!!!

Désolé j'ai foncé tête baissé et j'avais noté le premier script dans le planificateur de tâche du NAS la première fois :huh:

Pas très malin de ma part je reconnais, ensuite j'ai bien créé le .bat mais j'avais mal recopié le chemin de destination donc il ne pouvait pas monter le lecteur O:

:P

Sinon le script permet en effet de copier entre 2 dossiers PC/NAS, mais il ne permet pas de synchronisation.

Je m'explique: si je supprime ou déplace un fichier/dossier à la source, celui-ci sera toujours présent au même endroit à la destination après exécution.

La commande rsync marche avec un .bat??

Modifié par Firion74
Lien vers le commentaire
Partager sur d’autres sites

J'avais déjà testé Freefilesync, l'avais trouvé sympa mais je m'en étais détourné car à l'époque je cherchais une plus une automatisation via le NAS...

...mais ça c'était avant d'apprendre grâce à vous qu'avec un fichier en .bat et le planificateur windows ça pouvait le faire :D !!! Ça a mis du temps à rentrer dans mon p'tit crane mais je commence à comprendre! Merci de votre patience à mon égard ;)

Loli j'ai repris ton script depuis ton lien pour l'étudier et j'aurais une question :

@echo off
echo Montage reseau sur lecteur O en cours
NET USE O: <Adresse IP NAS>sauvegarde <PASSWORD> /USER:<USERNAME>
echo Montage reseau effectue
echo Lancement de la sauvegarde
"C:Program FilesFreeFileSyncBinFreeFileSync_x64.exe" "C:nobackupPersoFreeFileSyncBackup_New_Full_Backup_nassyno.ffs_batch"

. Au niveau de la sauvegarde, tu lances FreeFileSync depuis son répertoire d'installation, mais pourquoi "FreeFileSyncBinFreeFileSync_x64.exe" (windows 64bits je suppose) et non pas directement "FreeFileSyncFreeFileSync.exe"? Il y a une raison particulière?

. Je suppose qu'il est préférable de monter temporairement un lecteur O: pour le NAS via un .bat avant de configurer les paramètres de destination du miroir dans FreeFileSync, non?

J'essayerai ça une fois à la maison ce soir ^_^

Lien vers le commentaire
Partager sur d’autres sites

. Au niveau de la sauvegarde, tu lances FreeFileSync depuis son répertoire d'installation, mais pourquoi "FreeFileSyncBinFreeFileSync_x64.exe" (windows 64bits je suppose) et non pas directement "FreeFileSyncFreeFileSync.exe"? Il y a une raison particulière?

Tout simplement parce que freefilesync tourne effectivement sur un windows 64bits, et que je préfère utiliser a coup sûr l’exécutable optimisé pour mon OS. Après, je suppose que "FreeFileSyncFreeFileSync.exe" fonctionnera très bien aussi ;-)

. Je suppose qu'il est préférable de monter temporairement un lecteur O: pour le NAS via un .bat avant de configurer les paramètres de destination du miroir dans FreeFileSync, non?

Tu peux effectivement faire comme cela, tu montes manuellement le lecteur O: sur le bon répertoire partagé de ton NAS, et tu utilises le bouton "Parcourir" à droite pour pointer sur les bons répertoires finaux.

Pour ma part, je me contente d'écrire à la main les chemins de destination si je dois en rajouter sans monter le O:

Modifié par loli71
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.