Ma solution pour cela est d'utiliser une application Automator, et un script de remontage que j'ai écrit.
Partie 1 : Automatiser l'action
À l'aide de l'outil Automator, j'ai créé un nouveau fichier Application
à laquelle j'ai ajouté dans l'ordre :
-
Get Specified Servers
action qui obtient mon serveur (dans mon cas, mon raspberry pi)
-
Connect to Servers
qui se connecte au serveur que j'ai obtenu dans l'action précédente. Cela devrait ressembler à la capture d'écran ci-dessous.
![automator app]()
Partie 2 : Vérifier si l'ordinateur est connecté au serveur
Cela automatise l'action de se connecter au serveur, mais cela n'automatise pas le processus de reconnexion. Pour cela, j'ai écrit un simple script que j'exécute sur une tâche cron qui vérifie (toutes les 10 secondes) si l'ordinateur s'est connecté au serveur, et si le disque est monté comme je l'attends.
Le script vérifie :
- Si mon ordinateur peut faire un ping au serveur
- Si mon ordinateur a déjà monté le disque dans
Volumes
-
Si mon ordinateur peut envoyer une requête ping au serveur, mais que le lecteur n'est pas monté, il exécute l'application Automator.
if /sbin/ping -q -c 1 -W 1 <server ip goes here> >/dev/null; then
if [ ! -d "/Volumes/<your volume>" ]
then
open /usr/local/bin/remount/mount-drive.app
fi
fi
Partie 3 : Vérification toutes les 10 secondes
La partie finale est dans mon crontab
pour exécuter ce script toutes les minutes :
* * * * * sh /usr/local/bin/remount/remount.sh
Cela l'exécute toutes les minutes - si vous voulez qu'il soit exécuté toutes les 10 secondes, vous devez ajouter plusieurs tâches cron pour exécuter le script à des intervalles de 10 secondes, à la :
* * * * * sleep 10; sh /usr/local/bin/remount/remount.sh
* * * * * sleep 20; sh /usr/local/bin/remount/remount.sh
* * * * * sleep 30; sh /usr/local/bin/remount/remount.sh
* * * * * sleep 40; sh /usr/local/bin/remount/remount.sh
* * * * * sleep 60; sh /usr/local/bin/remount/remount.sh
Honnêtement, il y a probablement un moyen plus facile de faire cela avec juste Automator - j'utilise trois choses (crontab, un script, et une App Automator) ensemble que je suis sûr que je pourrais probablement utiliser juste l'App Automator script si j'étais juste meilleur à cela !
Cela dit, il fait son travail : lorsque j'ouvre mon Macbook et que le disque est déconnecté, il s'assure que l'ordinateur se reconnecte dans les 10 secondes s'il peut se connecter au disque.