Je n'ai pas une excellente configuration Wi-Fi ici à la maison et cela entraîne parfois des échecs de sauvegarde Time Machine. Existe-t-il un moyen de spécifier que Time Machine ne sauvegarde que dans certaines circonstances - c'est-à-dire que la connexion Ethernet est active ...?
network
time-machine
script
automation
babelmonk
la source
la source
Réponses:
Ceci est une alternative à l'autre script que j'ai publié. Celui-ci s'exécute en arrière-plan et teste la connexion réseau toutes les deux minutes pour déterminer s'il utilise une connexion Ethernet ou sans fil. Si sur Ethernet, il active Time Machine; lorsque la connexion passe au sans fil, elle désactive Time Machine.
Étape 1: vérification du système
Une fois connecté à Ethernet, vous devrez exécuter une commande manuellement pour confirmer à quelle interface Ethernet est affectée. Exécutez cette commande:
Il devrait afficher un écran plein d'informations. Ce que vous recherchez est une section étiquetée
en
avec un numéro après, et dont la dernière ligne eststatus: active
, comme ceci:Notez le numéro à côté
en
au début - c'est l'interface sur laquelle votre connexion Ethernet fonctionne.Étape 2: créer l'application AppleScript
Dans le script ci-dessous, où il est indiqué
set wired_interface to "0"
, remplacez le0
par le numéro à côté deen
la sortie ci-dessus. (Il devrait être 0; si vous êtes sur un Mac Pro, il peut être 1.) Toujours dans le script ci-dessous, en haut où il est ditmyusername
, remplacez votre propre nom d'utilisateur Mac.⌘+ spour enregistrer. Dans la feuille de propriétés Enregistrer, définissez le en
File Format
tant queApplication
et cochez la case pourStay open after run handler
. Enregistrez-le où vous voulez - Bureau ou dossier d'applications - cela n'a pas vraiment d'importance, sachez simplement où vous l'avez enregistré.Étape 3: créer les scripts shell
Ensuite, ouvrez Terminal. Tapez les commandes suivantes:
Collez la ligne suivante dans:
Appuyez sur control+ x, tapez yet appuyez sur returnpour enregistrer et quitter. Exécutez ensuite cette commande:
Et dans ce fichier collez la ligne suivante:
Encore une fois, control+ x, puis yet returnpour enregistrer et quitter.
Ensuite, entrez ces commandes:
Étape 4: Configuration
sudo
pour s'exécuter sans mot de passeLaisser la commande Terminal
sudo
s'exécuter sans mot de passe peut être très dangereux. C'est pourquoi les étapes ci-dessus ont créé les scripts shell dans leur propre répertoire, donc ce qui peut réellement être exécuté est limité.Entrez la commande suivante dans le terminal:
Entrez ensuite votre mot de passe administrateur lorsque vous y êtes invité.
Cela peut vous amener à un écran (principalement) vide, ou il peut contenir du texte. Si c'est vide - ça va. Vous allez juste coller la ligne ci-dessous en haut. Si du texte existe déjà, c'est bien aussi; utilisez votre flèche vers le bas pour aller juste en dessous des lignes déjà dans la
# User privilege specification
section, comme le montre la capture d'écran ci-dessous.Ici, ajoutez la ligne suivante:
Dans les deux endroits où
<yourusername>
apparaît, remplacez-le par votre nom d'utilisateur Mac. Appuyez sur control+ x, tapez yet appuyez sur returnpour enregistrer et quitter.Testez que ces fichiers activent et désactivent Time Machine en exécutant la commande suivante (en supposant que Time Machine est actuellement activé):
Après un moment, l'icône Time Machine dans la barre de menu devrait devenir grise, indiquant que Time Machine est désactivé. (Vous devrez peut-être cliquer sur l'icône pour refléter le changement). En supposant que cela fonctionne, exécutez cette commande:
Et Time Machine devrait être réactivé.
Et c'est parti
Exécutez l'application que vous avez créée dans AppleScript Editor ci-dessus, et elle restera ouverte, activant et désactivant Time Machine lorsque votre connexion passe d'Ethernet à sans fil et inversement. Pour désactiver la commutation, fermez simplement l'application AppleScript (faites un clic droit sur l'icône dans le Dock et choisissez Quitter).
la source
launchd
et de lui dire de rechercher les modifications apportées au/Library/Preferences/SystemConfiguration/
dossier. J'ai un exemple de cela disponible sur github.com/tjluoma/onnetworkchange .Cet AppleScript vérifiera si la connexion Ethernet est active, puis exécutera une sauvegarde Time Machine dans l'affirmative.
Tout d'abord, désactivez Time Machine dans les Préférences Système. La méthode ci-dessous l'exécutera automatiquement.
Une fois connecté à Ethernet , vous devrez exécuter une commande manuellement pour confirmer à quelle interface Ethernet est affectée. Exécutez cette commande:
Il devrait afficher un écran plein d'informations. Ce que vous recherchez est une section étiquetée
en
avec un numéro après, et dont la dernière ligne eststatus: active
, comme ceci:Notez le numéro à côté
en
au début - c'est l'interface sur laquelle votre connexion Ethernet fonctionne. Dans le script ci-dessous, où il est diten9
, remplacez-le9
par le numéro ci-dessus. (Si vous avez un Mac Pro, ce sera probablementen0
ouen1
. Sinon, ce sera probablement le casen0
.)Enregistrez-le sous
EthernetTimeMachine.scpt
dans votre dossier personnel (/Users/<yourusername>/
).Ouvrez ensuite Terminal et tapez la commande suivante:
Cela ouvrira un éditeur de texte pour vous permettre de planifier l'exécution de ce script toutes les heures, comme Time Machine le fait par défaut. Collez cette ligne:
Appuyez sur control+ Xpuis tapez
y
et appuyez sur returnpour enregistrer et quitter.Pour le désactiver, retournez dans Terminal, utilisez à nouveau la commande:
Supprimez ensuite la ligne que vous avez ajoutée ci-dessus et suivez les mêmes étapes pour enregistrer et quitter.
la source
Vous pouvez ouvrir vos Préférences réseau et vous assurer qu'Ethernet est la première connexion dans l'ordre de service. Vous pouvez voir ce que je veux dire dans cette capture d'écran, j'espère.
Ensuite, si Ethernet est connecté, vous devez toujours l'utiliser comme connexion principale.
Voir ici pour savoir comment définir la priorité du service: http://osxdaily.com/2013/06/15/set-network-connection-priority-mac-os-x/
la source