Come posso ottenere Automator per montare un volume di rete?


12

Sto scrivendo uno "script" di Automator che rsyncè multimediale sul mio MacBook Pro 10.6.3 sul mio HTPC Ubuntu 10.10. Posso fare in modo che Automator esegua il mio script di shell per i rsynccomandi, ma non posso fare in modo che Automator monti i tre volumi su HTPC (cartelle per musica, video e immagini).

Monto automaticamente questi volumi quando eseguo l'accesso (questi computer si connettono tramite una rete wifi), ma a volte i volumi HTPC vengono smontati, quindi mi piacerebbe rimontarli di default.

C'è un modo per montare i volumi in Automator? Sono aperto anche agli script di shell. Grazie!

Risposte:


9

Costruisco flussi di lavoro come questo in ogni momento. Sono necessarie solo due azioni e sono entrambe azioni File e cartelle.

1) Ottieni server specifici. Ciò ti consentirà di creare un elenco di condivisioni a cui connetterti. Se è possibile mapparlo da Finder -> Vai -> Connetti al server, è possibile utilizzare questo.

2) Connetti ai server. Questo si connetterà a tutti i server passati ad esso (o da ottenere server specifici o da chiedere server).


+ concordato: questo è esattamente come lo faccio in un flusso di lavoro rsync che utilizzo per sincronizzare una libreria di iTunes. Assicurarsi di utilizzare Espelli volumi se non si desidera che l'unità di rete rimanga connessa al termine del flusso di lavoro.
Robert S Ciaccio,

1
L'espulsione dei volumi è utile anche se si desidera un flusso di lavoro "inverso". Uso la procedura che ho descritto sopra come parte di un flusso di lavoro che eseguo quando riesco a lavorare (apro programmi, mi connetto ai server e persino remoto in una macchina virtuale). Alla fine, ne ho un altro che disconnette tutti i miei server e chiude tutti i miei programmi.
Ben Wyatt,

6

Uso il seguente applecript per montare le directory insieme a MarcoPolo in modo che le condivisioni di rete vengano montate automaticamente quando arrivo in ufficio e a casa.

Dovrai cambiare USERNAME, PASSWORD, SERVER / SHARENAME e possibilmente smb: // a seconda del tipo di server.

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

AGGIORNAMENTO : un'opzione senza MarcoPolo: è possibile eseguire prima il ping del server e provare a connettersi solo se si ottiene una risposta. È quindi possibile aggiungere questo script negli elementi di accesso

(Supponiamo che tu stia provando a connetterti a un server chiamato "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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.