Aller au contenu

Sauvegarde D'un Dossier Du Nas (Jour, Mois)


crashray

Messages recommandés

Posté(e)

Bonjour,

je possède un DS-108j. J'ai tous mes dossiers dans le dossier \PUBLIC\DOSSIERS\. Je dispose en outre de 2 disques dur dans des boitiers USB.

Je souhaiterais effectuer plusieurs actions automatique :

- tous les soirs à 19h par exemple, qu'il copie ce dossier \PUBLIC\DOSSIERS\ dans un dossier \Backup_Jour du disque USB en écrasant les fichiers précédents (ne pas toucher à ceux qui n'ont pas été modifié, supprimer ceux qui ont été supprimé sur le NAS depuis la dernière sauvegarde et rajouter les nouveaux fichiers/dossiers)

- une fois par semaine, qu'il fasse pareil dans le dossier Backup_Semaine pour que j'ai une sauvegarde de version antérieure pendant une semaine.

En fait, un disque USB sera branché en permanence sur le Synology et je garde l'autre DD USB dans un autre endroit comme sécurité (vol, incendie, inondation...). Et tous les mois ou plus, j'échange les deux disques USB pour mettre à jour la sauvegarde.

Donc il se remettra à jour en une semaine.

Désolé si c'est pas très clair.

Je voudrais aussi ne pas avoir besoin d'un autre PC que le Synology pour effectuer ses "exports" vers le disque USB. Car si j'ai besoin d'installer un logiciel sur un poste tiers et que ce poste disparait, je veux que les sauvegardes se fassent toujours.

Est-ce possible et comment faire ?

Merci bcp.

Posté(e)

Bonjour,

je possède un DS-108j. J'ai tous mes dossiers dans le dossier \PUBLIC\DOSSIERS\. Je dispose en outre de 2 disques dur dans des boitiers USB.

Je souhaiterais effectuer plusieurs actions automatique :

- tous les soirs à 19h par exemple, qu'il copie ce dossier \PUBLIC\DOSSIERS\ dans un dossier \Backup_Jour du disque USB en écrasant les fichiers précédents (ne pas toucher à ceux qui n'ont pas été modifié, supprimer ceux qui ont été supprimé sur le NAS depuis la dernière sauvegarde et rajouter les nouveaux fichiers/dossiers)

- une fois par semaine, qu'il fasse pareil dans le dossier Backup_Semaine pour que j'ai une sauvegarde de version antérieure pendant une semaine.

En fait, un disque USB sera branché en permanence sur le Synology et je garde l'autre DD USB dans un autre endroit comme sécurité (vol, incendie, inondation...). Et tous les mois ou plus, j'échange les deux disques USB pour mettre à jour la sauvegarde.

Donc il se remettra à jour en une semaine.

Désolé si c'est pas très clair.

Je voudrais aussi ne pas avoir besoin d'un autre PC que le Synology pour effectuer ses "exports" vers le disque USB. Car si j'ai besoin d'installer un logiciel sur un poste tiers et que ce poste disparait, je veux que les sauvegardes se fassent toujours.

Est-ce possible et comment faire ?

Merci bcp.

possible via rsync et la crontab.

il y a des posts à ce sujet sur ce forum.

Posté(e)

possible via rsync et la crontab.

il y a des posts à ce sujet sur ce forum.

Merci je vais chercher sur le forum alors. Si tu peux m'aiguiller vers quelques postes de référence, ça pourra m'aider.

Merci

Tutoriel rsync (pour que je le garde en mémoire)

Bon pour le moment j'arrive à sauvegarder un dossier test :

rsync -rltgoDv --del --ignore-errors --force /volume1/public/Pilotes /volumeUSB1/usbshare/Synology_BACKUP
mais j'ai quelques erreurs dans le terminal du type :
rsync:failed to set times on "/..../": Operation not permitted (1)

Quel editeur sont dispo avec telnet ? pico ? pour créer son bash.

Posté(e)

J'ai utilisé vi pour créer mon bash. Comment l'exécute t'on pour le tester ?

J'ai essayé bash nomduscript.sh mais ça marche pas

J'ai :

-sh: bash: not found
J'ai trouvé !!
sh nomduscript.sh
J'utilisais avant robocopy. je voudrais faire un équivalent à cette commande avec rsync :
c:\script\robocopy "g:\Dossiers" "h:\sauvegarde\jeudi\Dossiers" /E /PURGE /R:3 /W:3 /NP >"c:\copie jeudi.log" 
Voilà pour le moment mon bash :
#!/bin/bash

 rsync -rv --del /volume1/public/Pilotes /volumeUSB1/usbshare/Synology_BACKUP

J'ai l'impression qu'il reupload tout le temps tout.

Posté(e)

Merci je vais chercher sur le forum alors. Si tu peux m'aiguiller vers quelques postes de référence, ça pourra m'aider.

Merci

Tutoriel rsync (pour que je le garde en mémoire)

Bon pour le moment j'arrive à sauvegarder un dossier test :

rsync -rltgoDv --del --ignore-errors --force /volume1/public/Pilotes /volumeUSB1/usbshare/Synology_BACKUP
mais j'ai quelques erreurs dans le terminal du type :
rsync:failed to set times on "/..../": Operation not permitted (1)

Quel editeur sont dispo avec telnet ? pico ? pour créer son bash.

pico, je ne crois pas. nano, peut-être, sinon il est dispo dans optware.

il reste vi que l'on trouve sur à peut près tous les linux de france et de navarre.

les options que tu as mises ne fonctionnent probablement pas avec un disque formaté en FAT. le plus simple serait de toutes façon d'utiliser l'option -a (archive) sur un disque formaté en ext3, avec éventuellement les options --delete et --delete-after

Posté(e)

J'ai utilisé vi pour créer mon bash. Comment l'exécute t'on pour le tester ?

J'ai essayé bash nomduscript.sh mais ça marche pas

J'ai :

-sh: bash: not found
bash n'est pas installé sur le syno (tu peux cependant l'installer, il est dans optware)
J'ai trouvé !!
sh nomduscript.sh
l'interpréteur de base s'appelle ash, il implémente la commande sh. Mais la manière habituelle d'invoquer un script est : ./script (si on est dans le répertoire du script) ou /le/chemin/vers/le/script (dans le cas contraire). (rappel : sous linux, seuls les répertoires figurant dans le path sont utilisés pour la recherche des commandes, et pas le répertoire courant, ppour une question de sécurité) On peut aussi mettre son script dans un des répertoires du path (taper printenv ou env ou echo $PATH) Ce mode d'exécution nécessite cependant que l'interpréteur à utiliser soit précisé dans le script après le she-bang, et que le script ait l'attribut exéécutable (chmod +x script)
J'utilisais avant robocopy. je voudrais faire un équivalent à cette commande avec rsync :
c:\script\robocopy "g:\Dossiers" "h:\sauvegarde\jeudi\Dossiers" /E /PURGE /R:3 /W:3 /NP >"c:\copie jeudi.log" 
Je ne connais pas robocopy, je ne bosse que sous linux, mais ça doit être un truc du genre : rsync -av --delete --delete-after --stats /chemin/vers/dossiers /là_où_tu_sauvegarde >/rep/du/log
Voilà pour le moment mon bash :
#!/bin/bash

 rsync -rv --del /volume1/public/Pilotes /volumeUSB1/usbshare/Synology_BACKUP

J'ai l'impression qu'il reupload tout le temps tout.

en première ligne, mets

#!/bin/ash

qu'est-ce qui te fait dire qu'il reupload tout le temps tout ? ça ne devrait pas. Ajoute l'option --stats et envoie le résultat final

Posté(e)

Maintenant ça ne marche plus :angry:

Voilà mon script :

#!/bin/ash

     ###################################

     #  Jour

     ###################################

     rsync -rv --progress --stats /volume1/public/Pilotes /volumeUSB1/usbshare/Synology_BACKUP


     
et il me sort essav.jpg Pourtant quand je tape ma ligne rsync directement, ça marche : essasii.jpg Désolé pour les screenshots mais je n'arrive pas à faire un copier coller dans le cmd de window. ça m'enerve, j'ai regréssé. Mon bash marchait niquel et maintenant impossible de le faire marcher. Quand j'essaye de créer un dossier dans le terminal, ça a l'air de bugger mais en fait ça marche : essae.jpg Edit : tant que j'y suis comment on utilise crontab sur le synology, où je dois créer mon bash pour qu'il se lance tous les jours à une heure défini. J'ai essayé crontab -e mais ça ne donne rien. Edit 2 : j'ai trouvé ce post qui va m'aider Post sur crontab ce qui me donnera je pense :
00 19 * * * sh backup_day > /volume1/public/Script/log_day.txt

00 23 * * 4 sh backup_week > /volume1/public/Script/log_week.txt

pour faire une sauvegarde tous les jours en écrasant la précédente de la veille et une sauvegarde une fois par semaine le jeudi en écrasant celle de la semaine précédente.

Mais pour ça, il faut que mes 2 script marchent <_<

Posté(e)

J'ai l'impression que c'est la création de dossier sur le disque USB qui bug :



      DiskStation> mkdir b

      mkdir: Cannot set permissions of directory `b': Operation not permitted

      DiskStation> pwd

      /volumeUSB1/usbshare

      DiskStation> mkdir b

      mkdir: Cannot create directory `b': File exists

        DiskStation> ls

      AUTORUN.INF

      Autorun.Vinf

      RavMonLog

      Recycled

       System Volume Information

      V2i

      b

      backup

      msvcr71.dll

      sauvegarde

      sauvegarde_post_internet-10-08-09

      DiskStation>

       

Edit : bon j'ai tout supprimé, dossier et script, tout recrée et ça remarche. Je continue...

Bon alors j'y suis presque par contre quand je veux éditer mon crontab, j'ai pas les droits d'écriture donc je peux pas sauver les modifications.

Pourtant je suis connecté en telnet avec admin.

Petite question débile, si j'utilise dans l'interface du synology "Sauvegarde locale" et que je formate mon DD USB, je pourrais lui dire de sauvegarder mon DOSSIER public tous les soirs ? Ou faudra le faire manuellement à chaque fois ?

Posté(e)

Bon mon bash marche bien quand je le lance avec

sh test
DiskStation> sh test

       Debut Sauvegarde DOSSIERS

       building file list ...

       82 files to consider

       essai.txt

               172 100%    0.00kB/s    0:00:00  (1, 2.4% of 82)

       etc...

       RAJOUT/hpltumpd.dl_

             71377 100%  257.21kB/s    0:00:00  (78, 100.0% of 82)


       sent 8153393 bytes  received 1736 bytes  2330036.86 bytes/sec

       total size is 8147184  speedup is 1.00

       Fin de la SAUVEGARDE

       DiskStation>

       
Par contre quand j'essaye de faire :
DiskStation> chmod +X test

      DiskStation> ls -l

      -rw-r--r--    1 root     root            0 Aug 14 13:40 log5min.txt

      -rw-r--r--    1 admin    users         160 Aug 14 13:06 test

      DiskStation> 
ça ne rajoute pas de x. Pourtant il marche comme montré précédemment. J'ai configuré crontab pour qu'il lance ce "test" tous les 5 minutes comme ça :
#minute hour    mday    month   wday    who     command

      */5 * * * * sh /volume1/public/script/test > /volume1/public/script/log5min.txt

      
J'ai redémarré cron mais ça n'a pas l'air de marcher. Pourtant j'ai bien un fichier log5min.txt mais il est vide. Mon script :
#!/bin/bash

    echo Debut Sauvegarde DOSSIERS

    rsync --delete -r --progress /volume1/public/Pilotes/ /volumeUSB1/usbshare/backup/courant/

    echo Fin de la SAUVEGARDE

    

Edit : bon en fait il fallait faire un +x et non un +X donc maintenant il est bien éxécutable mais ça ne marche pas plus avec crontab. Comment vérifier que cron lance bien mon script ? J'ai bien en tout cas la création d'un log5min.txt mais vide mais la sauvegarde n'est pas mis à jour.

Posté(e)

Bonjour,

Tu as oublié 'root' pour le compte utilisateur :


*/5        *        *        *        *        root        sh /volume1/public/script/test > /volume1/public/script/log5min.txt

Intercale bien avec des tabulations entre les différents champs

Jusqu'a la commande 'sh' !!

A+

Fred.

Posté(e)

Bonjour,

Tu as oublié 'root' pour le compte utilisateur :


      */5        *        *        *        *        root        sh /volume1/public/script/test > /volume1/public/script/log5min.txt

      
Intercale bien avec des tabulations entre les différents champs Jusqu'a la commande 'sh' !! A+ Fred.
ça marche enfin !!!!! C'est magique :D Donc j'avais bien oublié root et j'avais mis des espaces à la place des tabulations. Merci beaucoup pour la réponse. J'ai cru que j'allais jamais m'en sortir. Donc il me reste à créer un autre script à créer visant le dossier de sauvegarde par semaine et rajouter la ligne dans crontab pour qu'ils fassent ça. Je m'y attèle de suite. Est-ce que le > log dans cron est obligatoire car j'ai l'impression qu'il grossit vite. Dans mon bash j'ai crée un log :
#!/bin/bash

    #Sauvegarde JOUR

    DATEDeb=$(date +%d-%m-%Y" "%Hh%M)

    rsync --delete -r --progress /volume1/public/Pilotes/ /volumeUSB1/usbshare/backup/courant/

    DATEFin=$(date +%d-%m-%Y" "%Hh%M)

    echo "Début de la Sauvegarde le : $DATEDeb -- Terminée le : $DATEFin" >> /volume1/public/script/essai.log

    
Sinon si je veux faire un sauvegarde à 1h00, je met 00 01 ou 0 1 ?
#minute hour    mday    month   wday    who     command

 30      20      *       *       *       root    sh /volume1/public/script/backup_day.sh > /volume1/public/script/logday_cron.txt

 00      01      *       *       5       root    sh /volume1/public/script/backup_week.sh > /volume1/public/script/logweek_cron.txt

 

Comment être sûre qu'il ne reupload pas tout à chaque fois ? car c'est l'impression que j'ai

Posté(e)

ça marche enfin !!!!! C'est magique :D

Oui, c'est SYNOLOGY :P

Est-ce que le > log dans cron est obligatoire car j'ai l'impression qu'il grossit vite. Dans mon bash j'ai crée un log :

Non, tu peux uniquement garder la ligne 'rsync'. Le reste, n'est qu'une information, non indispensable.

Sinon si je veux faire un sauvegarde à 1h00, je met 00 01 ou 0 1 ?

Je ne met jamais le zéro du début, mais je pense que les deux écritures sont correcte.

A tester :)

Fred.

Posté(e)

Oui, c'est SYNOLOGY :P

Non, tu peux uniquement garder la ligne 'rsync'. Le reste, n'est qu'une information, non indispensable.

Je ne met jamais le zéro du début, mais je pense que les deux écritures sont correcte.

A tester :)

Fred.

Bon ça marche bien. Les sauvegardes se font à l'heure dite. Par contre, je réfléchis de plus en plus à la fonction Sauvegarde locale qui est disponible dans l'interface graphique. Si je formate mon disque USB, je pourrais faire ce que j'ai fais plus facilement non ?

En fait, je configure le truc pour le boulot (je suis stagiaire) et j'ai peur que si ce que j'ai fait un jour plante, il est du mal à s'y retrouver et que je sos pas dispo.

Alors que le truc dans l'interface graphique serait peut-être plus simple.

  • 2 semaines après...
Posté(e)

Bon ça marche bien. Les sauvegardes se font à l'heure dite. Par contre, je réfléchis de plus en plus à la fonction Sauvegarde locale qui est disponible dans l'interface graphique. Si je formate mon disque USB, je pourrais faire ce que j'ai fais plus facilement non ?

En fait, je configure le truc pour le boulot (je suis stagiaire) et j'ai peur que si ce que j'ai fait un jour plante, il est du mal à s'y retrouver et que je sos pas dispo.

Alors que le truc dans l'interface graphique serait peut-être plus simple.

Bonjour,

Est-ce que finalement tu as eu ta réponse ? est-ce que l'interface graphique serait plus simple ?

Je suis intéressé par ton développement car j'ai +/- le même besoin.

Quelle commande rsync a fonctionné finalement ?

@+

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • 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.