[gull] Équivalent de Time Machine

Cyril Rouiller cyril.rouiller.gull at rnv.ch
Sun Jul 19 22:32:15 CEST 2020


Salut Pascal,

Le Fri, 17 Jul 2020 13:44:25 +0200
Pascal Damien <info at familledamien.ch> écrivit:

> Je cherche un équivalent à Time Machine sous Apple.


Pour répondre à la même problématique, j'avais fait quelques recherches
et tests, et à l'époque (il y a 11 ans), le système le plus simple que
j'avais trouvé était rdiff-backup.

J'avais commis un petit script pour automatiser la chose, il est si
dessous. J'utilise ceci depuis avec satisfaction. J'ai du bien des fois
récupéré des fichiers, et trois fois le système complet suite à des
crashs disque. J'ai ceci d'installé sur 5 machines différentes.

Après, je ne dis pas que c'est le meilleur des systèmes, mais il me
convient.

Ok, mon script n'est pas joli, mais à l'époque je débutais.

Un bel été à toi.


#!/bin/bash
# Label de la partition sur laquelle la sauvegarde doit être faite
LABEL=/dev/disk/by-label/backup

# Point de montage du disque externe
DISCK=/mnt/backup

# Dossier cible de la sauvegarde
DOSSI=clevo/racine
CIBLE=${DISCK}/${DOSSI}

# Gestion des erreurs
be(){ echo -n "ERREUR :  "; echo -e "$1"; exit 1; }

# Vérifie que le disque est monté
i=0
while [[ $(mount | grep -q "${DISCK}"; echo $?) -eq 1 ]]
do
	[[ -e ${DISCK} ]] || be "Le point de montage n'existe pas"
	# test si le disque est branché au port usb
	if [[ -e ${LABEL} ]]
	then
		mount $DISCK  || be "Montage pas possible"
	else
		be "Aucun disque avec le label -${LABEL}- donné n'est branché"
	fi
	# sortie d'urgence en cas de boucle infinie
	i=$(($i + 1));[[ $i -eq 3 ]] && break
done

echo "Sauvegarde démarée à $(date)"
rdiff-backup \
	--print-statistics \
	--exclude-if-present .rdp.exclude \
	--exclude /home/lost+found \
	--include /home \
	--include /root \
	--include /etc \
	--exclude "**" \
	/ ${CIBLE}

rdiff-backup -l $CIBLE > /tmp/tailrdif
#less /tmp/tailrdif
head -n 1  /tmp/tailrdif
tail -n 5 /tmp/tailrdif

dfc -t ext2,ext3,ext4,vfat,fuseblk
exit 0

echo -n "Faut-t-il démonter le disque dur ? (y/n) :"
read nombre
case $nombre in
		yY) umount ${DISCK} ;;
esac

-- 
Cyril Rouiller


More information about the gull mailing list