#1 Le 23/02/2018, à 19:43
- Jarodd
[Débutant] Pistes d'amélioration d'un script
Bonjour,
Je suis totalement débutant en écriture de script. J'ai essayé d'en écrire un qui fait une sauvegarde quotidienne de quelques fichiers au boulot, dont certains de mon profil Firefox (je sais qu'il y a des outils qui font ce genre de choses, mais je fais cela plus pour l'exercice).
Voilà mon script :
#!/bin/bash
# echo "### Début de sauvegarde ###"
today=$(date +'%Y%m%d')
path_src_firefox="/home/user/.mozilla/firefox/gxxmhgj3.default"
path_src_configs="/home/user"
path_src_exalog="/home/user/Documents/Exalog"
path_dst="/home/user/Documents/Personnel/Backups/"$today
path_dst_firefox=$path_dst"/Firefox/"
path_dst_configs=$path_dst"/configs/"
path_dst_exalog=$path_dst"/exalog/"
# echo "Création des répertoires de sauvegarde"
mkdir -p $path_dst_firefox
mkdir -p $path_dst_configs
mkdir -p $path_dst_exalog
# marque-pages, base de données des clés pour les mots de passe, mots de passe sauvegardés,
# préférences spécifiques des sites, moteurs de recherche, certificats de sécurité
files=( "places.sqlite" "key4.db" "logins.json" "permissions.sqlite" "search.json.mozlz4" "cert9.db" )
for f in "${files[@]}"
do
cp "$path_src_firefox/$f" $path_dst_firefox
done
# fichiers de configuration personnels
files=( ".bash_aliases" ".bashrc" ".pgpass" ".profile" ".psqlrc" )
for f in "${files[@]}"
do
cp "$path_src_configs/$f" $path_dst_configs
done
cp $path_src_exalog/dev.txt $path_dst_exalog
cp $path_src_exalog/mdp.txt $path_dst_exalog
touch $path_dst_configs/les_fichiers_sauvegardes_ici_sont_caches
# auto-backup
cp $0 "/home/user/Documents/Personnel/Backups/"$today
# echo "### Fin de sauvegarde ###"
# dans la crontab : tous les jours à 13h15
# 15 13 * * *
A vos fouets, merci de me dire ce que vous en pensez, et si on peut m'améliorer (je ne veux pas forcément faire un super script qui tient en 3 lignes)
Ubuntu 22.04.3 LTS (64 bits)
Hors ligne
#2 Le 23/02/2018, à 19:50
- pingouinux
Re : [Débutant] Pistes d'amélioration d'un script
Bonsoir,
Tu devrais mettre toutes les variables entre " ", pour éviter des problèmes le jour où l'une d'elles contiendra des espaces.
Hors ligne
#3 Le 23/02/2018, à 20:01
- Jarodd
Re : [Débutant] Pistes d'amélioration d'un script
Comme ça ?
mkdir -p "$path_dst_firefox"
Ubuntu 22.04.3 LTS (64 bits)
Hors ligne
#4 Le 23/02/2018, à 20:02
- pingouinux
Re : [Débutant] Pistes d'amélioration d'un script
Oui
Hors ligne
#5 Le 26/02/2018, à 15:21
- kholo
Re : [Débutant] Pistes d'amélioration d'un script
salut,
$HOME = /home/user
voir
echo $HOME
pour
path_src_firefox="/home/user/.mozilla/firefox/gxxmhgj3.default"
path_src_configs="/home/user"
path_src_exalog="/home/user/Documents/Exalog"
ça donne
path_src_firefox="$HOME/.mozilla/firefox/gxxmhgj3.default"
path_src_configs="$HOME"
path_src_exalog="$HOME/Documents/Exalog"
path_dst="$HOME/Documents/Personnel/Backups/"$today
et tu peux utiliser tar pour encapsuler tes sauvegardes de fichiers dans un fichier unique
comme ça pas la peine de mettre un placard pour éviter une suppression accidentelle
Hors ligne