Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Vérifier si un HDD est monté sur /media/seifer
- if [ -d "/media/seifer" ]; then
- # Liste des HDD montés
- hdd_list=$(ls /media/seifer | grep '^HDD')
- # Vérifier si des HDD sont présents
- if [ -n "$hdd_list" ]; then
- # Choix du premier HDD trouvé
- first_hdd=$(echo "$hdd_list" | head -n 1)
- HDD="$first_hdd"
- echo -e "\e[31;1m"HDD trouvé : $HDD"\e[0m"
- else
- echo -e "\e[31;1m"Aucun HDD trouvé dans /media/seifer/"\e[0m"
- exit 1
- fi
- else
- echo -e "\e[31;1m"Aucun HDD monté sur /media/seifer/"\e[0m"
- exit 1
- fi
- #Sauvegarde des dépendances Python installées par pip install:
- #datedujour=$(date +"%Y-%m-%d")
- pip freeze > /tmp/my_pip_packages.txt
- mv -f /tmp/my_pip_packages.txt /media/seifer/$HDD/
- #Pour installer ces dépendances:
- #pip install -r my_pip_packages_$datedujour.txt
- #Pour lister les modules Perl installés:
- #instmodsh
- #Pour les installer en lot:
- #ajouter "sudo cpanm" en suffixe: sed -e 's/^/sudo cpanm/' perl_list
- #lancer l'installation en copiant/collant la liste avec CTRL+X+E
- #Pour installer un par un: sudo cpanm Module::Name
- sudo renice -n 20 -p $(pidof bash)
- #Sauvegarde des crontabs:
- crontab -l > /tmp/crontabs && sudo mv -f /tmp/crontabs /media/seifer/$HDD/
- #Sauvegarde des Cinnamon settings:
- #Pour charger les settings sur un nouveau système:
- #dconf load /org/cinnamon/ < cinnamon_settings
- dconf dump /org/cinnamon/ > /tmp/cinnamon_settings && sudo mv -f /tmp/cinnamon_settings /media/seifer/$HDD/
- #Sauvegarde des paquets installés:
- apt-clone clone `uname -n` && mv *.apt-clone.tar.gz /media/seifer/$HDD/
- #Pour installer les paquets de cette liste:
- #sudo apt-clone restore xxxx.apt-clone.tar.gz
- #Sauvegarde des vidéos sans synchronisation avec la source:
- sudo rsync --progress --human-readable -av --ignore-errors --ignore-existing -p --stats --force /home/seifer/Vidéos/ /media/seifer/$HDD/Vidéos
- #Sauvegarde de la liste des films si source modifiée:
- sudo rsync --progress --human-readable -av --ignore-errors -p --stats --force /home/seifer/Vidéos/Liste_Films_Dispos_sur_HDD /media/seifer/$HDD/Vidéos
- #Sauvegarde des .sh de /usr/bin/
- sudo rsync --progress --human-readable -av --del --ignore-errors -p --stats --force /usr/bin/*sh /media/seifer/$HDD/usrSLASHbin
- #Sauvegarde du autoexec.cfg de CSGO:
- #sudo rsync --progress --human-readable -av --del --ignore-errors -p --stats --force /home/seifer/.steam/steam/steamapps/common/'Counter-Strike Global Offensive'/csgo/cfg/autoexec.cfg /media/seifer/$HDD/
- #Sauvegarde de /etc:
- sudo rsync --progress --human-readable -av --del --ignore-errors -p --stats --force /etc/ /media/seifer/$HDD/backup_etc
- #Sauvegarde de /usr/share/
- sudo rsync --progress --human-readable -av --del --ignore-errors -p --stats --force /usr/share/ /media/seifer/$HDD/usrSLASHshare
- #Sauvegarde des clés wifi:
- sudo grep -R psk /etc/NetworkManager/system-connections > /tmp/wifi_keys.txt && mv -f /tmp/wifi_keys.txt /media/seifer/$HDD/
- #Sauvegarde de tout Home sauf /Vidéos et /VirtualBox_VMs/Win7
- sudo rsync --progress --human-readable -av --del --ignore-errors -p --stats --force --exclude /Vidéos --exclude /VirtualBox_VMs/Win7 /home/seifer/ /media/seifer/$HDD/backup_home
- #Sauvegarde de tout Home sauf /Vidéos
- #sudo rsync --progress --human-readable -av --del --ignore-errors -p --stats --force --exclude /Vidéos /home/seifer/ /media/seifer/$HDD/backup_home
- #-av // C'est un moyen rapide de dire que vous voulez la récursion et de préserver pratiquement tout (le "v" est pour la verbosité)
- #-p // provoque la mise à jour des permissions sur la destination pour qu'elles soient identiques aux permissions sur la source.
- #--stats // affiche quelques statistiques de transfert de fichiers, ce qui permet de vérifier l'efficacité de la sauvegarde
- #--del // permet de supprimer les fichiers sur "destination" qui n'existent plus sur "source"
- #--ignore-errors // efface même s'il y a eu des erreurs E/S
- #--force // force la suppression de répertoires même non-vides
- # Add error handling
- if [ $? -ne 0 ]; then
- echo -e "\e[32;1mLa sauvegarde a échouée!\e[0m"
- sudo umount /media/seifer/$HDD
- exit 1
- fi
- sudo umount /media/seifer/$HDD
- echo -e "\e[32;1mSauvegarde terminée avec succès!\e[0m"
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement