Não tenho uma ótima configuração de Wi-Fi aqui em casa e, às vezes, resulta em falhas nos backups do Time Machine. Existe uma maneira de especificar que o Time Machine faça backup somente em determinadas circunstâncias - ou seja, a conexão Ethernet está ativa ...?
network
time-machine
script
automation
babelmonk
fonte
fonte
Respostas:
Essa é uma alternativa ao outro script que eu postei. Este é executado em segundo plano e testa a conexão de rede a cada dois minutos para determinar se está usando uma conexão Ethernet ou sem fio. Se estiver na Ethernet, habilitará o Time Machine; quando a conexão muda para sem fio, desativa o Time Machine.
Etapa 1: verificação do sistema
Enquanto estiver conectado à Ethernet, você precisará executar um comando manualmente para confirmar a qual interface a Ethernet está atribuída. Execute este comando:
Deve exibir uma tela cheia de informações. O que você está procurando é uma seção rotulada
en
com um número a seguir e cuja última linha éstatus: active
assim:Anote o número ao lado de
en
no início - esta é a interface na qual sua conexão Ethernet está sendo executada.Etapa 2: criar o aplicativo AppleScript
No script abaixo, onde está escrito
set wired_interface to "0"
, altere0
para o número ao ladoen
da saída acima. (Deve ser 0; se você estiver em um Mac Pro, pode ser 1). Também no script abaixo, na parte superior onde dizmyusername
, substitua seu próprio nome de usuário do Mac.⌘+ spara salvar. Na folha de propriedades Salvar, defina
File Format
comoApplication
e marque a caixaStay open after run handler
. Salve-o onde quiser - área de trabalho ou pasta de aplicativos - isso realmente não importa, basta saber onde você o salvou.Etapa 3: criar os scripts do shell
Em seguida, abra o Terminal. Digite os seguintes comandos:
Cole a seguinte linha em:
Pressione control+ x, digite ye pressione returnpara salvar e sair. Em seguida, execute este comando:
E neste arquivo, cole a seguinte linha:
Novamente, control+ x, então ye returnpara salvar e sair.
Em seguida, insira estes comandos:
Etapa 4: configurando
sudo
para executar sem uma senhaDeixar o comando Terminal
sudo
executar sem uma senha pode ser muito perigoso. É por isso que as etapas acima criaram os scripts de shell em seu próprio diretório, para que o que realmente possa ser executado seja limitado.Digite o seguinte comando no Terminal:
Em seguida, digite sua senha de administrador quando solicitado.
Isso pode levá-lo a uma tela em branco (principalmente), ou pode conter algum texto. Se estiver em branco - tudo bem. Basta colar a linha abaixo na parte superior. Se o texto já existe, isso também é bom; use sua seta para baixo para ir logo abaixo das linhas já na
# User privilege specification
seção, como visto na captura de tela abaixo.Aqui, adicione a seguinte linha:
Nos dois locais em que
<yourusername>
aparecer, substitua-o pelo nome de usuário do Mac. Pressione control+ x, digite ye pressione returnpara salvar e sair.Teste se esses arquivos ativam e desativam o Time Machine executando o seguinte comando (assumindo que o Time Machine esteja ativado no momento):
Depois de um momento, o ícone do Time Machine na barra de menus deve ficar cinza, indicando que o Time Machine está desativado. (Pode ser necessário clicar no ícone para refletir a alteração). Supondo que isso funcione, execute este comando:
E o Time Machine deve ser reativado.
And Off You Go
Execute o aplicativo que você criou no AppleScript Editor acima e ele permanecerá aberto, ativando e desativando o Time Machine à medida que sua conexão muda da Ethernet para a sem fio e vice-versa. Para desativar a alternância, basta fechar o aplicativo AppleScript (clique com o botão direito do mouse no ícone no Dock e escolha Sair).
fonte
launchd
e dizer a ele para procurar alterações na/Library/Preferences/SystemConfiguration/
pasta. Eu tenho um exemplo disso disponível em github.com/tjluoma/onnetworkchange .Este AppleScript verificará se a conexão Ethernet está ativa e, em seguida, executará um backup do Time Machine.
Primeiro, desative o Time Machine nas Preferências do Sistema. O método abaixo o executará automaticamente.
Enquanto estiver conectado à Ethernet , você precisará executar um comando manualmente para confirmar a qual interface a Ethernet está atribuída. Execute este comando:
Deve exibir uma tela cheia de informações. O que você está procurando é uma seção rotulada
en
com um número a seguir e cuja última linha éstatus: active
assim:Anote o número ao lado de
en
no início - esta é a interface na qual sua conexão Ethernet está sendo executada. No script abaixo, onde está escritoen9
, substitua9
pelo número acima. (Se você possui um Mac Pro, provavelmente seráen0
ouen1
. Caso contrário, provavelmente seráen0
.)Salve isso como
EthernetTimeMachine.scpt
na sua pasta pessoal (/Users/<yourusername>/
).Em seguida, abra o Terminal e digite o seguinte comando:
Isso abrirá um editor de texto para permitir que você agende esse script para ser executado a cada hora, assim como o Time Machine, por padrão. Cole esta linha:
Pressione control+ Xe digite
y
e pressione returnpara salvar e sair.Para desativá-lo, volte ao Terminal e use novamente o comando:
Em seguida, exclua a linha que você adicionou acima e use as mesmas etapas para salvar e sair.
fonte
Você pode abrir suas Prefs de rede e verificar se a Ethernet é a conexão principal na ordem de serviço. Você pode ver o que quero dizer nesta imagem, espero.
Então, se a Ethernet estiver conectada, você deve sempre usá-la como sua conexão principal.
Veja aqui como definir a prioridade do serviço: http://osxdaily.com/2013/06/15/set-network-connection-priority-mac-os-x/
fonte