Script de zip automatique avec répertoires dynamiques
Bonjour à tous,
Je souhaiterais écrire un script qui se lancer toutes les semaine afin de créer une archive de divers répertoires.
Pour ce faire, j'ai 2 tables en BDD de paramétrage du script, qui convertit en shell donne ces 2 tableaux :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
FOLDERS=(
"/usr/local/web"
"/usr/local/Documents/NAS"
"/usr/local/Documents/PI"
"/usr/local/Restauration/Sauvegarde"
)
EXCEPTED=(
"/usr/local/web/download"
"/usr/local/Restauration/Sauvegarde/NAS"
"/usr/local/Restauration/Sauvegarde/PI"
"/usr/local/Restauration/Sauvegarde/PC Bureau"
) |
En gros le premier tableau récupère la liste des répertoires à zipper.
Le deuxième la liste des sous répertoires à ne pas intégrer au zip global.
Je veux que mon zip global contienne 4 répertoires (en fonction du nombre de FOLDERS) comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10
|
monzip.zip
- web
- ...
- NAS
- ...
- PI
- ...
- Sauvegarde
- ... |
Du coup j'ai voulu essayer de générer la commande "à la volée" avec 7zip mais ça ne fonctionne pas.
La solution la plus simple serait de copier/coller des répertoires et de zipper le contenu mais si les fichiers sont gros, ça va prendre + de temps et user les disques pour rien.
Voici le début du script..
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
for FOLD in ${FOLDERS[*]}
do
FD="${FD} \"${FOLD}\""
done
for EXCEPT in ${EXCEPTED[*]}
do
EX="${EX} -x\!\"${EXCEPT}\""
done
7z a t.7z `echo $FD` `echo $EX` |
ça ne marche pas car je pense que les variables ne sont pas bien interprétées...
merci pour votre aide,