Bon, je me suis remis il y a peu à faire quelques scripts bash pour me simplifier la vie. Or, en consultant différents sites, je constate que la syntaxe n’est jamais la même… Bon, mes scripts fonctionnent, mais je n’aime pas faire de l’à-peu-près
Deuxième chose, je vous mets un petit scripts que j’exécute pour les sauvegardes. Si on lui passe le paramètre “usb”, il regarde si ma clef est bien branchée (vérification de l’existence du répertoire /media/XXXX-XXXX). Si c’est le cas, il vérifie que le répertoire du backup du jour (nom de rép créée avec la date). Si c’est le cas----> exit.
Sinon, il compresse les répertoires que je veux sauvegarder (les erreurs sont stockées dans un log) et les écrit directement sur ma dropbox. Si le paramètre “usb” a été passé, il crée les archives d’abord sur la clef avant de les “cp” sur dropbox.
Alors, j’ai besoin de votre aide pour me donner des idées afin de rendre ce script plus digeste et je voudrais aussi utiliser une boucle pour examiner dans le rép /media/ histoire de ne plus imiter le script à une seul clef
Je vous remercie d’avance de vos lumières et m’excuse pour ce script qui peut paraître bien peu structuré (j’ai toujours aimé scripter en fonçant tête baissée et modifier au fur et à mesure…). Et n’hésitez pas à me pourfendre pour ma syntaxe approximative…
Le script:
#! /bin/sh
clear
date >>~/scripts/sauv.log
if [ “$1” = “usb” ];
then
if [ -e “/media/7E2C-0475/” ];
then chemin="/media/7E2C-0475/backup/"
echo “Sauvegarde sur clef USB”
else echo “Faudrait peut être la brancher la clef hein ?”
echo “Enfin…”
echo “Je dis ça, je dis rien…”
echo “^_^”
echo
echo
cowsay Dommage
exit
fi
else chemin="/home/baldarhion/Dropbox/backup/"
echo “Sauvegarde sur DROPBOX”
fi
Création du répertoire de destination
DT=date +%d-%m-%Y
REP=$chemin"sauvegarde$DT"
if [ -e “$REP” ];
then echo “C’est déjà fait dude…”
exit
else mkdir $REP
fi
Sauvegardes renpy
echo "*****************************"
echo “Sauvegardes Ren’py en cours…”
tar -cjf $REP/renpysave.tar ~/.renpy/ 2>>~/scripts/sauv.log
echo “OK.”
echo
Sauvegardes mail
echo “Sauvegarde des mails…”
tar -cjf $REP/mailsave.tar ~/.thunderbird/* 2>>~/scripts/sauv.log
echo “OK.”
echo
Sauvegardes des documents
echo “Sauvegardes des documents…”
tar -cjf $REP/docs.bz2 ~/Documents/doc/* 2>>~/scripts/sauv.log
echo “OK.”
echo “"
echo “Sauvegardes Traductions…”
tar -cjf $REP/traductions.bz2 ~/Documents/doc\ jeux/Traduction\ Homeward/ 2>>~/scripts/sauv.log
tar -cjf $REP/script.bz2 ~/jeux/homeward\ french/game/script.rpy 2>>~/scripts/sauv.log
echo “OK.”
echo "*”
echo
echo
si sauvegarde sur clef USB, on copie vers Dropbox
if [ “$1” = “usb” ];
then echo “Copie des archives sur Dropbox”
chem2="/home/baldarhion/Dropbox/backup/sauvegarde$DT"
mkdir $chem2
cp $REP/* $chem2
echo “OK.”
fi
PS: désolé, je n’arrive pas à conserver les indentations avec le copier/coller :’(