Ich habe hier zu Hause kein großartiges Wi-Fi-Setup und es führt manchmal zu fehlgeschlagenen Time Machine-Backups. Gibt es eine Möglichkeit anzugeben, dass Time Machine nur unter bestimmten Umständen eine Sicherung durchführt - dh die Ethernet-Verbindung ist aktiv ...?
network
time-machine
script
automation
Babelmonk
quelle
quelle
Antworten:
Dies ist eine Alternative zu dem anderen Skript, das ich gepostet habe. Dieser wird im Hintergrund ausgeführt und testet die Netzwerkverbindung alle zwei Minuten, um festzustellen, ob eine Ethernet-Verbindung oder eine drahtlose Verbindung verwendet wird. Bei Ethernet wird Time Machine aktiviert. Wenn die Verbindung auf drahtlos umgeschaltet wird, wird Time Machine deaktiviert.
Schritt 1: Systemprüfung
Während Sie mit Ethernet verbunden sind, müssen Sie einen Befehl manuell ausführen, um zu bestätigen, welcher Schnittstelle Ethernet zugewiesen ist. Führen Sie diesen Befehl aus:
Es sollte ein Bildschirm voller Informationen ausgegeben werden. Was Sie suchen, ist ein Abschnitt, der
en
mit einer Zahl danach gekennzeichnet ist und dessen letzte Zeilestatus: active
wie folgt lautet :Notieren Sie sich die Nummer
en
am Anfang - dies ist die Schnittstelle, auf der Ihre Ethernet-Verbindung ausgeführt wird.Schritt 2: Erstellen Sie die AppleScript-Anwendung
set wired_interface to "0"
Ändern Sie im0
folgenden Skript, wo es steht , die Zahl in die Nummer nebenen
der obigen Ausgabe. (Es sollte 0 sein; wenn Sie auf einem Mac Pro arbeiten, kann es 1 sein.)myusername
Ersetzen Sie auch im folgenden Skript oben dort, wo es steht , Ihren eigenen Mac-Benutzernamen.⌘+ szu speichern. Im Speichern Kartei setzt die
File Format
wieApplication
, und das KontrollkästchenStay open after run handler
. Speichern Sie es, wo immer Sie möchten - Desktop oder Anwendungsordner - es spielt wirklich keine Rolle, wissen Sie nur, wo Sie es gespeichert haben.Schritt 3: Erstellen Sie die Shell-Skripte
Öffnen Sie als Nächstes das Terminal. Geben Sie die folgenden Befehle ein:
Fügen Sie die folgende Zeile ein:
Drücken Sie control+ x, Typ yund drücken Sie returnzum Speichern und Beenden. Führen Sie dann diesen Befehl aus:
Fügen Sie in diese Datei die folgende Zeile ein:
Wieder control+ x, dann yund returnzum Speichern und Beenden.
Geben Sie als Nächstes die folgenden Befehle ein:
Schritt 4: Einrichten
sudo
für die Ausführung ohne KennwortDas
sudo
Ausführen des Terminalbefehls ohne Kennwort kann sehr gefährlich sein. Aus diesem Grund haben die obigen Schritte die Shell-Skripte in einem eigenen Verzeichnis erstellt, sodass die tatsächlich ausgeführten Funktionen begrenzt sind.Geben Sie im Terminal den folgenden Befehl ein:
Geben Sie dann Ihr Administratorkennwort ein, wenn Sie dazu aufgefordert werden.
Dies kann Sie zu einem (meistens) leeren Bildschirm führen, oder es kann Text enthalten. Wenn es leer ist, ist das in Ordnung. Fügen Sie einfach die folgende Zeile oben ein. Wenn bereits Text vorhanden ist, ist das auch in Ordnung. Verwenden Sie Ihren Abwärtspfeil, um direkt unter die Linien zu gelangen, die sich bereits im
# User privilege specification
Abschnitt befinden (siehe Abbildung unten).Fügen Sie hier die folgende Zeile hinzu:
<yourusername>
Ersetzen Sie ihn an beiden Stellen, an denen er angezeigt wird, durch Ihren Mac-Benutzernamen. Drücken Sie control+ x, Typ yund drücken Sie returnzum Speichern und Beenden.Testen Sie, ob diese Dateien Time Machine ein- und ausschalten, indem Sie den folgenden Befehl ausführen (vorausgesetzt, Time Machine ist derzeit aktiviert):
Nach einem Moment sollte das Time Machine-Symbol in der Menüleiste grau werden, um anzuzeigen, dass Time Machine ausgeschaltet ist. (Möglicherweise müssen Sie auf das Symbol klicken, um die Änderung wiederzugeben.) Wenn dies funktioniert, führen Sie den folgenden Befehl aus:
Und Time Machine sollte wieder aktiviert werden.
Und los geht's
Führen Sie die Anwendung aus, die Sie oben im AppleScript-Editor erstellt haben. Sie bleibt geöffnet und aktiviert und deaktiviert Time Machine, wenn Ihre Verbindung von Ethernet zu Wireless und zurück wechselt. Um die Umschaltung zu deaktivieren, schließen Sie einfach die AppleScript-Anwendung (klicken Sie mit der rechten Maustaste auf das Symbol im Dock und wählen Sie Beenden).
quelle
launchd
und anweisen, nach Änderungen am/Library/Preferences/SystemConfiguration/
Ordner zu suchen . Ich habe ein Beispiel dafür unter github.com/tjluoma/onnetworkchange .Dieses AppleScript prüft, ob die Ethernet-Verbindung aktiv ist, und führt in diesem Fall eine Time Machine-Sicherung durch.
Deaktivieren Sie zunächst Time Machine in den Systemeinstellungen. Die folgende Methode führt es automatisch aus.
Während Sie mit Ethernet verbunden sind , müssen Sie einen Befehl manuell ausführen, um zu bestätigen, welcher Schnittstelle Ethernet zugewiesen ist. Führen Sie diesen Befehl aus:
Es sollte ein Bildschirm voller Informationen ausgegeben werden. Was Sie suchen, ist ein Abschnitt, der
en
mit einer Zahl danach gekennzeichnet ist und dessen letzte Zeilestatus: active
wie folgt lautet :Notieren Sie sich die Nummer
en
am Anfang - dies ist die Schnittstelle, auf der Ihre Ethernet-Verbindung ausgeführt wird.en9
Ersetzen Sie im folgenden Skript durch9
die Nummer von oben. (Wenn Sie einen Mac Pro haben, wird es höchstwahrscheinlichen0
oder seinen1
. Andernfalls wird es wahrscheinlich seinen0
.)Speichern Sie dies als
EthernetTimeMachine.scpt
in Ihrem Home-Ordner (/Users/<yourusername>/
).Öffnen Sie als nächstes Terminal und geben Sie den folgenden Befehl ein:
Dadurch wird ein Texteditor geöffnet, mit dem Sie festlegen können, dass dieses Skript stündlich ausgeführt wird, wie dies bei Time Machine standardmäßig der Fall ist. Fügen Sie diese Zeile ein:
Drücken Sie control+ Xgeben Sie dann ein
y
und drücken Sie returnzum Speichern und Beenden.Um es zu deaktivieren, kehren Sie zum Terminal zurück und verwenden Sie erneut den folgenden Befehl:
Löschen Sie dann die oben hinzugefügte Zeile und führen Sie die gleichen Schritte zum Speichern und Beenden aus.
quelle
Sie können Ihre Netzwerkeinstellungen öffnen und sicherstellen, dass Ethernet die oberste Verbindung im Serviceauftrag ist. Sie können sehen, was ich in diesem Screenshot meine, hoffe ich.
Wenn Ethernet verbunden ist, sollten Sie es immer als primäre Verbindung verwenden.
Informationen zum Festlegen der Dienstpriorität finden Sie hier: http://osxdaily.com/2013/06/15/set-network-connection-priority-mac-os-x/
quelle