# Appel aux dieux des Scripts Bash...

**URL:** https://forum.minimachines.net/t/appel-aux-dieux-des-scripts-bash/1371
**Category:** Distributions Linux
**Created:** [Octobre 16, 2013, 1:23 UTC](https://forum.minimachines.net/t/appel-aux-dieux-des-scripts-bash/1371 "2013-10-16T13:23:54Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Baldarhion](https://forum.minimachines.net/user_avatar/forum.minimachines.net/baldarhion/32/292_2.png) [@Baldarhion](https://forum.minimachines.net/u/Baldarhion)
#### Post date: [Octobre 16, 2013, 1:23 UTC](https://forum.minimachines.net/t/appel-aux-dieux-des-scripts-bash/1371/1 "2013-10-16T13:23:54Z")

</div>

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 😢

---

<div class="post-metadata">

### Author: ![CerfVolant](https://forum.minimachines.net/user_avatar/forum.minimachines.net/cerfvolant/32/10_2.png) [@CerfVolant](https://forum.minimachines.net/u/CerfVolant)
#### Post date: [Octobre 16, 2013, 4:55 UTC](https://forum.minimachines.net/t/appel-aux-dieux-des-scripts-bash/1371/2 "2013-10-16T16:55:38Z")

</div>

ha les batch, j’aime ^^  
ça me rapelle des bons souvenirs,  
et y a pas plus simple pour des actions simples et efficaces…

mais perso pour mes sauvgardes (vers mon serveur ou autres) j’utilise FreeFileSync.exe,  
programme gratuit et simplee a utiliser.

comme je suis pas un dieu en batch, je ne saurais te conseiller…

---

<div class="post-metadata">

### Author: ![Baldarhion](https://forum.minimachines.net/user_avatar/forum.minimachines.net/baldarhion/32/292_2.png) [@Baldarhion](https://forum.minimachines.net/u/Baldarhion)
#### Post date: [Octobre 16, 2013, 6:27 UTC](https://forum.minimachines.net/t/appel-aux-dieux-des-scripts-bash/1371/3 "2013-10-16T18:27:37Z")

</div>

Hé hé 🙂  
Mais c’est tellement plus drôle de le faire à sa sauce. Par contre ton message vient e me faire penser à la commande rsync… C’est malin, je vais encore passer une journée à bidouiller 😛

Avec un peu de chance, on pourra arriver à faire le script de sauvegardes ultime et collaboratif…

Je vais quand même jeter un oeil au logiciel que tu utilises.

---

<div class="post-metadata">

### Author: ![nashimi](https://forum.minimachines.net/letter_avatar_proxy/v4/letter/n/4da419/32.png) [@nashimi](https://forum.minimachines.net/u/nashimi)
#### Post date: [Mars 5, 2019, 6:02 UTC](https://forum.minimachines.net/t/appel-aux-dieux-des-scripts-bash/1371/4 "2019-03-05T18:02:35Z")

</div>

Bonjour, qu’est-ce qui différencie les scripts recup\_site\_[1-4].sh ? j’écrirais plutôt une fonction unique, qui accepte des paramètres, appelées dans une boucle pour traiter chaque site… ? [[color=#000000]Tutuapp[/color]](https://tutuapp.uno/) [[color=#000000]9Apps[/color]](https://9apps.ooo/) [[color=#000000]Showbox[/color]](https://showbox.run/)

---

<div class="post-metadata">

### Author: ![vishal9586](https://forum.minimachines.net/letter_avatar_proxy/v4/letter/v/97f17d/32.png) [@vishal9586](https://forum.minimachines.net/u/vishal9586)
#### Post date: [Mars 24, 2019, 9:31 UTC](https://forum.minimachines.net/t/appel-aux-dieux-des-scripts-bash/1371/5 "2019-03-24T09:31:37Z")

</div>

Bonjour, qu’est-ce qui différencie les scripts recup\_site\_[1-4].sh ? j’écrirais plutôt une fonction unique, qui accepte des paramètres, appelées dans une boucle pour traiter chaque site  
[[color=#000000]Showbox[/color]](https://showbox.buzz/)
