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:
ifconfig
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:
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
ether 00:25:00:ef:30:3c
inet6 fe80::225:ff:feef:303c%en1 prefixlen 64 scopeid 0x5
inet 192.168.1.68 netmask 0xffffff00 broadcast 192.168.1.255
media: autoselect (100baseTX <full-duplex>)
status: active
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"
, altere 0
para o número ao lado en
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 diz myusername
, substitua seu próprio nome de usuário do Mac.
-- Edit variables here --
global current_username
set current_username to "myusername"
global wired_interface
set wired_interface to "0"
-- DO NOT EDIT BELOW THIS LINE --
global last_connection
set last_connection to "wireless"
on idle
if (do shell script "ifconfig en" & wired_interface & " | awk '/inet/ {print $2}'") is not equal to "" then
-- on ethernet
if last_connection is equal to "wireless" then
-- turn TM on
-- else do nothing, we're still on ethernet
set last_connection to "ethernet"
do shell script "sudo /Users/" & current_username & "/TMSwitch/TM_On.csh"
end if
else
-- on wireless
if last_connection is equal to "ethernet" then
-- turn tm off
-- else do nothing, we're still on wireless
set last_connection to "wireless"
do shell script "sudo /Users/" & current_username & "/TMSwitch/TM_Off.csh"
end if
end if
return 120
end idle
⌘+ spara salvar. Na folha de propriedades Salvar, defina File Format
como Application
e marque a caixa Stay 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:
cd ~/
mkdir TMSwitch
cd TMSwitch
pico TM_On.csh
Cole a seguinte linha em:
defaults write /Library/Preferences/com.apple.TimeMachine AutoBackup -bool TRUE
Pressione control+ x, digite ye pressione returnpara salvar e sair. Em seguida, execute este comando:
pico TM_Off.csh
E neste arquivo, cole a seguinte linha:
defaults write /Library/Preferences/com.apple.TimeMachine AutoBackup -bool FALSE
Novamente, control+ x, então ye returnpara salvar e sair.
Em seguida, insira estes comandos:
chmod 4555 TM_O*.csh
chown root TM_O*.csh
Etapa 4: configurando sudo
para executar sem uma senha
Deixar 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:
sudo pico /etc/sudoers
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:
<yourusername> ALL = NOPASSWD: /Users/<yourusername>/TMSwitch/*
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):
sudo ./TM_Off.csh
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:
sudo ./TM_On.csh
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).