J'ai un serveur Ubuntu où je monte un disque dur externe chaque démarrage.
Pour ce faire, j'ai créé un dossier vide sur la partition racine et le lecteur est monté "à l'intérieur" de ce dossier.
Cependant, si j'effectue une sauvegarde sur ce chemin lorsque le lecteur n'est pas correctement monté? La sauvegarde remplirait plutôt ma partition racine!
Je peux m'assurer que le lecteur est monté à chaque fois en effectuant:
Sudo mount -a
... avant chaque sauvegarde.
Cependant, quelles sont les meilleures pratiques pour que les données ne soient jamais écrites dans le dossier montrant vide (sauf lorsque le disque dur externe est vraiment monté)?
Peut-il être résolu sans script? Dire avec des autorisations par exemple? Quelles sont les meilleures pratiques?
Je passe une étape plus loin et je définit toujours les attributs de mes répertoires de mon montage sur immuables à l'aide de CHATTR.
Ceci est accompli avec chattr +i /mountpoint
(avec le mont non monté).
Cela ferait une erreur sur une nouvelle activité d'écriture et protège également le point de montage dans d'autres situations.
Pour développer le commentaire sur l'utilisation de mountpoint
, c'est à peu près ce que je mets dans des scripts lorsque j'ai besoin de vérifier ce genre de choses:
DEST='/mnt/backup'
if ! mountpoint -q "$DEST" ; then
echo "Destination is not mounted; attempting to mount"
mount $DEST
if ! mountpoint -q "$DEST" ; then
echo "Unable to mount $DEST; Aborting"
exit 1
fi
echo "Mounted $DEST; Continuing backup"
fi
Cela suppose que $ Dest existe dans /etc/fstab
; Peu importe que ce soit un auto
ou noauto
point de vue.
Selon la page mount
manuel:
Si seul le répertoire ou le périphérique est donné, par exemple:
mount /dir
ensuite, monture cherche un point de montage et sinon trouvé alors pour un dispositif dans le fichier/etc/fstab. Il est possible d'utiliser des options --tar-get ou --Source pour éviter une interprétation ambivalente de l'argument donné. Par exemple
mount --target /mountpoint