Re: pb avec fonctions bash

Top Page

Reply to this message
Author: Edgar Bonet Orozco
Date:  
To: guilde
Subject: Re: pb avec fonctions bash
Bonjour !

Bon, je me réponds à moi même car finalement je trouve que mon idée
n'est pas bonne :

> function incrbackup() {
>     PATTERN=`cat $HOME/.nobackup`
>     touch /mnt/zip/home   # Je préfère le faire avant le tar
>     tar cf - `find $HOME -type f -newer /mnt/zip/home \
>         \! -regex $PATTERN` | tar -C /mnt/zip -xvf -
> }


En fait c'est une bonne occasion d'utiliser cpio à la place de tar pour
deux raisons :

1.- Avec cpio tu donnes la liste des fichiers par l'entrée standard et
non en ligne de commande. Ça évite le risque d'erreur « Liste de
paramètres trop longue.. » qui se produit quand la ligne de commande
approche les 128 ko. C'est vrai que 128 ko c'est quand même pas mal.

2.- Un seul cpio peut remplacer deux tar. L'option -p est faite pour ça.

Donc un
    find ... | cpio -pv /mnt/zip
est conceptuellement équivalent à
    tar -cf - `find ...` | tar -C /mnt/zip -xvf -
et en plus tu peux aussi sauvegarder des fichiers spéciaux, des
sockets...


Edgar, qui aime bien cpio pour ses sauvegardes sur bande.