Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/02/2018, à 20: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, à 20: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, à 21: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, à 21:02

pingouinux

Re : [Débutant] Pistes d'amélioration d'un script

Oui

Hors ligne

#5 Le 26/02/2018, à 16: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 lol

Hors ligne