MacMinds - great minds think different

Navigatie

Zoeken

Inloggegevens

Je bent niet ingelogd.


#1 12-01-2012 09:23

sturb
@ Roermond
Geregistreerd: 23-12-2007
Website

actie als er een usb schijf ingestoken word -- updated

Ik wil graag een klein scriptje of programmaatje maken die als er een usb-stick in de mac gestoken wordt een actie onderneemt: het kopieren van bestanden van de mac naar die stick.
Nu heb ik vrijveel ervaring met het maken van php en database applicaties, maar ik zou niet weten hoe en met wat ik bovenstaande als applicatie op de mac kan fabriceren.

Pseudo code:
- kijken of er een usb stick ingestoken word
- if volumeNaam == 'iets'
- Dan: Delete alles op volume naam
- Kopieren van bestanden naar volumeNaam
- Als klaar: eject volumeNaam
- Berichtje "USB is geeject, backup compleet"  (mail of systeembericht naar IP)

Het lijkt me tergend makkelijk te scripten, alleen weet ik niet waarin het moet doen.

Kan iemand me helpen met het geven van een aanzet?

Laatst bewerkt door sturb (24-01-2012 12:17)

Offline

 

#2 12-01-2012 09:33

macpro
Pro
@ 3e byte rechts
Geregistreerd: 18-09-2006
Website

Re: actie als er een usb schijf ingestoken word -- updated

Dit soort zaken kun je heel goed in AppleScript maken.


"I tawt I taw a puddy tat!" Tweety

Offline

 

#3 12-01-2012 10:21

Deskman
Beheerder
@ the desk
Geregistreerd: 14-09-2006
Website

Re: actie als er een usb schijf ingestoken word -- updated

SuperDuper, in combinatie met een scriptje lijkt me een fijne combinatie.

Offline

 

#4 12-01-2012 15:48

Buzz
@ Delft
Geregistreerd: 10-10-2006

Re: actie als er een usb schijf ingestoken word -- updated

Dit kan je in vrijwel elke moderne scripttaal maken. Je USB-stick verschijnt onder /Volumes in het bestandssysteem. Check in je scriptje gewoon of die directory bestaat, en voer vervolgens de rest van de stappen uit. Voor het ejecten kan je een systeem-commando, zoals umount of hdiutil gebruiken.

Vervolgens moet het scriptje natuurlijk geregeld in de achtergrond uitgevoerd worden. Hiervoor gebruik je launchd. Een tutorial voor iets soortgelijks vind je hier:
http://www.macresearch.org/tutorial_bac … th_launchd

Laatst bewerkt door Buzz (12-01-2012 15:50)

Offline

 

#5 13-01-2012 09:34

sturb
@ Roermond
Geregistreerd: 23-12-2007
Website

Re: actie als er een usb schijf ingestoken word -- updated

Thanks!
Ga me eens even verdiepen in een Applescript welke superduper activeert en door launchd in leven gehouden wordt.

De link van Buzz doet voor 80% wat ik wil, dus daar gaan we maar eens in duiken!

Offline

 

#6 23-01-2012 22:52

sturb
@ Roermond
Geregistreerd: 23-12-2007
Website

Re: actie als er een usb schijf ingestoken word -- updated

In navolging van de post van Buzz en de genoemde link, heb ik nu een bash-script die dmv rsync een back-up maakt van de bestanden als de naam van een usb-stick een bepaalde naam heeft.
Als ik het script draai in de terminal dan werkt hij perfect en doet hij precies wat hij moet doen.

Het koppelen aan de map /Volumes/ wil echter niet zo werken. Ik heb volgend com.sturb.backup.plist bestand in de map ~/Library/LaunchAgents staan:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
    <dict>
            <key>Label</key>
            <string>com.sturb.backup</string>
        
        <key>LowPriorityIO</key>
            <true/>
        
        <key>Program</key>
            <string>/Volumes/Beta/richardverbruggen/Library/Scripts/backup.com</string>
            <key>ProgramArguments</key>
            <array>
                    <string>backup.com</string>
            </array>
            <key>WatchPaths</key>
            <array>
                <string>/Volumes</string>
            </array>
           </dict>
</plist>

Na een wijziging in dit .plist bestand log ik in uit en weer in om het actief te maken. Maar het lijkt erop dat er iets misgaat... Kan iemand me wijzen op m'n fout? Of is er ergens anders een mogelijkheid om het script te draaien als er iets in /Volumes gebeurd?

Offline

 

#7 24-01-2012 12:32

sturb
@ Roermond
Geregistreerd: 23-12-2007
Website

Re: actie als er een usb schijf ingestoken word -- updated

Hmm blijkbaar functioneert hij na een restart wel smile

Nu alleen nog een berichtje sturen naar een bepaald ip adres in het netwerk om te melden dat de back-up klaar is......
Maar eens op zoek naar netcat of iets dergelijks smile

Offline

 

Forum voettekst

MacMinds v 1.05 Powered by PunBB