Como posso obter o Automator para montar um volume de rede?

12

Estou escrevendo um "script" do Automator que rsyncé mídia no meu MacBook Pro 10.6.3 para o meu Ubuntu 10.10 HTPC. Posso fazer o Automator executar meu script de shell para rsynccomandos, mas não posso fazer o Automator montar os três volumes no HTPC (pastas para músicas, vídeos e fotos).

Monto esses volumes automaticamente quando faço login (esses computadores se conectam através de uma rede wifi), mas às vezes os volumes HTPC são desmontados, portanto, gostaria de remontar por padrão.

Existe uma maneira de montar os volumes no Automator? Também estou aberto a scripts de shell. Obrigado!

Richard Herron
fonte

Respostas:

9

Eu construo fluxos de trabalho de automação como esse o tempo todo. Você só precisa de duas ações, e ambas são arquivos e pastas.

1) Obtenha servidores especificados. Isso permitirá que você crie uma lista de compartilhamentos aos quais se conectar. Se você pode mapeá-lo em Finder -> Ir -> Conectar ao servidor, você pode usá-lo.

2) Conecte-se aos servidores. Isso se conectará a todos os servidores passados ​​para ele (seja de servidores especificados ou solicitados por servidores).

Ben Wyatt
fonte
+ concordou: é exatamente isso que eu faço em um fluxo de trabalho rsync que eu uso para sincronizar uma biblioteca do iTunes. Certifique-se de usar Ejetar volumes se não desejar que a unidade de rede permaneça conectada após a conclusão do fluxo de trabalho.
Robert S Ciaccio 19/10/10
1
Ejetar volumes também é útil se você deseja um fluxo de trabalho "reverso". Uso o procedimento descrito acima como parte de um fluxo de trabalho executado quando chego ao trabalho (abra programas, conecte-se a servidores e até remotamente em uma máquina virtual). No final do dia, tenho outro que desconecta todos os meus servidores e fecha todos os meus programas.
Ben Wyatt
6

Eu uso o seguinte AppleScript para montar diretórios em conjunto com o MarcoPolo, para que os compartilhamentos de rede sejam montados automaticamente quando eu chegar ao meu escritório e em casa.

Você precisará alterar USERNAME, PASSWORD, SERVER / SHARENAME e possivelmente smb: //, dependendo do tipo de servidor.

tell application "Finder"
    try
        mount volume "smb://USERNAME:PASSWORD@SERVER/SHARENAME"
        delay 1
    end try
end tell

ATUALIZAÇÃO : Uma opção sem MarcoPolo: você pode executar ping no servidor primeiro e apenas tentar se conectar se receber uma resposta. Você pode adicionar esse script aos itens de login

(Digamos que você esteja tentando se conectar a um servidor chamado "some_server")

-- (0) Check to see if there server exists by pinging it
set max_retry to 60
set k to 0
repeat while (do shell script "ping -c 1 some_server") contains "100% packet loss"
    delay 5
    set k to k + 1
    if k > max_retry then error "Server is not responding for predefined period." number 8000
end repeat

-- (1) It exists, mount the volume
tell application "Finder"
    try
        mount volume "smb://USERNAME:PASSWORD@some_server/SHARENAME"
        delay 1
    end try
end tell
Jason
fonte