Bagaimana saya bisa mendapatkan Automator untuk memasang volume jaringan?

12

Saya menulis "skrip" Automator yang rsyncmenggunakan media pada MacBook Pro 10.6.3 saya ke HTPC Ubuntu 10.10 saya. Saya dapat membuat Automator menjalankan skrip shell saya untuk mendapatkan rsyncperintah, tetapi saya tidak dapat membuat Automator memasang tiga volume pada HTPC (folder untuk musik, video, dan gambar).

Saya secara otomatis me-mount volume ini ketika saya login (komputer ini terhubung melalui jaringan wifi), tetapi kadang-kadang volume HTPC dilepas, jadi saya ingin melakukan remount secara default.

Apakah ada cara untuk memasang volume di Automator? Saya juga terbuka untuk shell scripting. Terima kasih!

Richard Herron
sumber

Jawaban:

9

Saya membangun alur kerja automator seperti ini setiap saat. Anda hanya perlu dua tindakan, dan keduanya adalah tindakan File & Folder.

1) Dapatkan Server Tertentu. Ini akan memungkinkan Anda membuat daftar saham untuk dihubungkan. Jika Anda dapat memetakannya dari Finder -> Go -> Connect to server, Anda dapat menggunakan ini.

2) Terhubung ke Server. Ini akan terhubung ke server mana saja yang diteruskan (baik dari mendapatkan server yang ditentukan atau dari meminta server).

Ben Wyatt
sumber
+ setuju: ini persis bagaimana saya melakukannya di alur kerja rsync yang saya gunakan untuk menyinkronkan perpustakaan iTunes. Pastikan Anda menggunakan Volume Keluarkan jika Anda tidak ingin drive jaringan tetap terhubung setelah alur kerja selesai.
Robert S Ciaccio
1
Volume Eject juga berguna jika Anda menginginkan alur kerja "mundur". Saya menggunakan prosedur yang saya uraikan di atas sebagai bagian dari alur kerja yang saya jalankan ketika saya mulai bekerja (membuka program, terhubung ke server dan bahkan jauh ke mesin virtual). Pada akhirnya, saya memiliki server lain yang memutuskan semua server saya dan berhenti dari semua program saya.
Ben Wyatt
6

Saya menggunakan applescript berikut untuk memasang direktori bersamaan dengan MarcoPolo sehingga pembagian jaringan secara otomatis dipasang ketika saya sampai di kantor dan rumah saya.

Anda harus mengubah USERNAME, PASSWORD, SERVER / SHARENAME dan mungkin seseorang: // tergantung pada jenis server Anda.

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

UPDATE : Opsi tanpa MarcoPolo: Anda dapat melakukan ping server terlebih dahulu dan hanya mencoba terhubung jika Anda mendapat respons. Anda kemudian dapat menambahkan skrip ini ke Item Login Anda

(Katakanlah Anda mencoba menyambung ke server bernama "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
sumber