Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 18/01/2013, à 20:17

Math

Script automatique de sauvegarde CD multisupport

Bonjour,

Je recherche à faire une sauvegarde sur CD/DVD d'un répertoire volumineux (>30Gio).
J'ai donc besoin de faire un multi-support ; mais je ne veux pas de tar/zip multivolume. (sinon, ce serait très facile).
En effet, j'ai besoin de graver ces fichiers sans compression.

J'ai donc pensé à un script qui me ferai une copie (lien symbolique/dur) de mon répertoire en gérant la taille pour ne pas dépasser la limite.

En gros, mon répertoire actuelle est :

~/medias
     /2012
              /01
              /02
              /06
              /07
     /2013
              /01
              /02
              /06
              /07

Donc, l'idée serait peut être d'avoir un script qui reprioduirait :

~/medias
     /CD1
          /2012
                   /01
                   /02
     /CD2
          /2012
                   /06
                   /07
     /CD3
          /2012
                   /07 <== parce qu'il n'avais plus la place sur le CD2
          /2013
                   /01
                   /02
                   /06
                   /07

Est-ce que vous connaissez un script qui me permettrai de faire ceci de manière automatique ?
Ou alors connaissez vous une aurte solution ?

Merci

Hors ligne

#2 Le 20/01/2013, à 07:34

pingouinux

Re : Script automatique de sauvegarde CD multisupport

Bonjour,
La seconde arborescence est-elle censée remplacer la première, et contenir réellement les fichiers ? L'autre possibilité est qu'elle soit créée en plus, éventuellement dans un autre répertoire de base, et contienne des liens symboliques vers les fichiers d'origine.

En ligne

#3 Le 20/01/2013, à 09:27

Math

Re : Script automatique de sauvegarde CD multisupport

Oui, je pense que le plus simple est effectivement d'avoir une "copie" sous forme de symlinks ; c'est ce que j'imaginais déjà..

Hors ligne

#4 Le 20/01/2013, à 09:48

pingouinux

Re : Script automatique de sauvegarde CD multisupport

Dans ce cas, voici un script qui peut éventuellement convenir.

#!/bin/bash

ORIG=~/medias
A_SAUVER=.
DEST=/tmp/tst
LON_MAX=700000000;

cd "$ORIG"
n=0;
while read fic
do
   lon=$(stat -c "%s" "$fic")
   n_=0
   for k in $(seq 1 $n)
   do
      LON=$((${N[$k]}+lon))
      ((LON <= LON_MAX)) && { n_=$k; break; }
   done
   ((n_==0)) && { ((n++)); LON=$lon; n_=$n; }
   orig="$ORIG/$fic"
   dest="$DEST/CD$n/$fic"
   printf "%3d %8d %8d %s\n" $n_ $lon $LON "$dest"
   mkdir -p "$(dirname "$dest")"
   ln -s "$orig" "$dest"
   N[$n_]=$LON
done < <(find "$A_SAUVER" -type f)
for k in ${!N[@]}; do printf "%3d %8d\n" $k ${N[$k]}; done

ORIG           : Répertoire de départ
A_SAUVER  : Répertoire à sauvegarder (situé dans $ORIG)
DEST           : Répertoire de destination
LON_MAX   : Longueur max en octets de chaque CDn

Remarque :
Ce script ne s'occupe que des fichiers de l'arborescence (à l'exclusion des liens), et ne tient pas compte de la place prise par les répertoires.

En ligne

#5 Le 20/01/2013, à 14:24

Math

Re : Script automatique de sauvegarde CD multisupport

Hello,

Merci beaucoup ; l'effet désiré me semble très bien..
Il faut juste bien faire attention au "/bin/bash" ;

Ensuite, je fais un

mkisofs -J -r -f -o ./CD1.iso ./CD1/

pour préparer mes iso.


LON_MAX=680000000; #680Mo avec un peut de marge
LON_MAX=4294967296; #4Go avec pas mal de marge :-)
LON_MAX=4504682496; #4,2Go avec un peut de marge

Hors ligne

Haut de page ↑