bacup systeem met apple script

Ik ben net overgestapt naar de apple 2 weken mijn nieuwe G5 binnen en heb dus nog geen kaas gegeten van het programeeren voor de mac (ben visualsutio .net gewend met de programeertaal visual basic)

Dit is mijn doel:

Ik heb een map op mijn computer die ik dagelijks automatiche wil bacuppen b.v. als de computer opstart. Maar hier komt mijn probleem ik wil nammelijk dat het script automatiche connectie maakt met mijn linux server (dus er moet ge connect worden met smb://ip addres).

Nu is mijn eerste vraag hoe kan ik een connectie tot stand brengen met apple script (want zo ver ik gelezen heb op dit forum is dit de beste keuze om mee te beginnen) en hoe kan ik dan de files laten copieren.

Nu de tweede vraag is er een goed boek of website die je de weg kan wijze hoe je action script programeert?

alvast bedankt

hey

een goede start site voor alle applescript beginners / geintresseerde(en gevorderden) is macscripter.net ( http://www.scriptbuilders.net/ )

have fun

greetzz

en natuurlijk [url=http://bbs.applescript.net/]dit forum[/url] en van [url=http://www.apple.com/applescript/resources/]apple zelf[/url]

Bedankt voor jullie reacties

Ik heb nu deze code gemaakt aleen ik krijg telkens de fout meldeing dat er al een onderdeel met de zelfde naam op de doel lokatie staat

[code:1:7bb1778d73]
try
mount volume "smb://:@192.168.1.113/Bacup_apple"
end try
set Bron_Disk to "Macintosh HD"
set Doel_Disk to "Bacup_apple"
set Bron to "Users:
*:Bins"
set Doel to "Bacup"

tell application "Finder"
try
get folder Doel of disk Doel_Disk as alias
on error
make new folder at disk "Bacup_apple" with properties {name:"Bacup"}
end try
copy folder Bron of disk Bron_Disk to folder Doel of disk Doel_Disk
end tell
[/code:1:7bb1778d73]

en als ik de map bacup van de schijf af haal het het script als volgt aan pas werkt het ook niet want dan zegt hij dat finder de born en het doel niet aan elkaar kan koppelen:

[code:1:7bb1778d73]
try
mount volume "smb:/:**@192.168.1.113/Bacup_apple"
end try
set Bron_Disk to "Macintosh HD"
set Doel_Disk to "Bacup_apple"
set Bron to "Users:
:Bins"
set Doel to "Bacup"

tell application "Finder"
copy folder Bron of disk Bron_Disk to folder Doel of disk Doel_Disk
end tell
[/code:1:7bb1778d73]

alles iemand een oplossing weet help mij als je blieft

alvast bedankt

ik zou dan ook de duplicate functie gebruiken ipv de copy functie... volgens de finder library kan je daar ook meezeggen dattie moet overwriten:

duplicate: Duplicate one or more object(s)
duplicate reference – the object(s) to duplicate
[to location reference] – the new location for the object(s)
[replacing boolean] – Specifies whether or not to replace items in the destination that have the same name as items being duplicated
[routing suppressed boolean] – Specifies whether or not to autoroute items (default is false). Only applies when copying to the system folder.
Result: reference – to the duplicated object(s)

dus dan zou je zoiets krijgen als

[code:1:ed389a75ea]
try
mount volume "smb://:@192.168.1.113/Bacup_apple"
end try
set Bron to "Macintosh HD:Users:
*:Bin"
set Doel to "Bacup_apple:Bacup:"

tell application "Finder"
try
get folder Doel as alias
on error
make new folder at disk "Bacup_apple" with properties {name:"Bacup"}
end try
duplicate Bron to Doel with replacing
end tell[/code:1:ed389a75ea]

Ik heb het scipt aangepast.

Het ziet er nu als volgt uit:

[code:1:4df3734d26]
– You nead only to chanche this variable
set var_Source_Disk to "Macintosh HD"
set var_Target_Disk to "Bacup_apple"
set var_Source to "Users::Bin"
set var_Target to "Bacup"
– This variable contens the path to the network driver
set var_Network_phat to "smb://
:
******@192.168.1.113/Bacup_apple"

– Don’t change this variable
set var_Target_full to var_Target_Disk & “:” & var_Target & “:”
set var_Source_full to var_Source_Disk & “:” & var_Source & “:”

– Mount disk
try
mount volume var_Network_phat
end try
– Try to find the target folder
tell application "Finder"
try
get folder var_Target of disk var_Target_Disk as alias
on error
make new folder at disk var_Target_Disk with properties {name:var_Target}
end try
duplicate folder var_Source_full to folder var_Target_full with replacing
end tell
[/code:1:4df3734d26]

maar de duplicate optie werkt niet goed, iemand een idee hoe dat komt?

zelfs als ik bij de set var_Target_full en set var_Soutce_full de dubble punt aan het einde weg haal (zie voor de verandering van de code het code vakje onder deze teks) werkt het nog niet.

[code:1:4df3734d26]
set var_Target_full to var_Target_Disk & ":" & var_Target
set var_Source_full to var_Source_Disk & ":" & var_Source
[/code:1:4df3734d26]

de script maker zegt dan het volgende:
[b:4df3734d26]Finder kreeg een fout: folder “Macintosh HD:Users:****:Bin:” kan niet worden toegekend aan folder “Bacup_apple:Bacup:”.[/b:4df3734d26]

alvast bedankt

en als je je dit nu eens probeert: [code:1:7256516ca2]-- You nead only to chanche this variable set var_Source_Disk to "Macintosh HD" set var_Target_Disk to "Bacup_apple" set var_Source to "Users:******:Bin" set var_Target to "Bacup" -- This variable contens the path to the network driver set var_Network_phat to "smb://****:********@192.168.1.113/Bacup_apple"

– Don’t change this variable
set var_Target_full to var_Target_Disk & “:” & var_Target & “:”
set var_Source_full to var_Source_Disk & “:” & var_Source & “:”

– Mount disk
try
mount volume var_Network_phat
end try
– Try to find the target folder
tell application "Finder"
try
get folder var_Target of disk var_Target_Disk as alias
on error
make new folder at disk var_Target_Disk with properties {name:var_Target}
end try
duplicate var_Source_full to var_Target_full with replacing
end tell
[/code:1:7256516ca2]

Als ik het bovenstaande script van reneo probeer met aanpassingen natuurlijk bij de username en password voor netwerk connectie en het pad naar mijn account, dan geeft scripmaker de volgende fout: [b:16577f71c7]Finder kreeg een fout: "Macintosh HD:Users:ivotrompert:Bin:" kan niet worden toegekend aan "Bacup_apple:Bacup:".[/b:16577f71c7]

Weet iemand daar een oplossing voor?

alvast bednakt

ik kan niet overzien op welke regel je deze foutmelding krijgt, kan het zijn dat het script het niet voor elkaar krijgt om je schijf te mounten? Het kan vanalles zijn waarom het niet wil werken, dus stap-voor-stap kijken of het werkt, doe ik altijd met display dialogs of beeps tussendoor, zodat ik weet welke stappen van mijn scripts lukken en op welke die vastloopt. Probeer het anders eerst door je backupschijf handmatig te mounten en dat gedeelte van je script tijdelijk uit te zetten met [code:1:f99b8e3bd5](*gedeelte script*)[/code:1:f99b8e3bd5]

Het mounte van de schijf gaat goed (want ik zie een schijf verschijnen op het bureaublad) De enege regel die fout gaat is de dupplicate functie (het belangrijkste stukje van het script) op dat moment geeft hij de eerder vernoemde fout melding. Ik zelf niet achterhalen waarom dat zo is (het licht in iedergeval niet aan de rechten want ik kan wel gewoon handmaatig de bestanden kopieeren)

Ik hoop dat iemand me een oplsing kan bieden want ik zit helemaal klem.

alvast bedankt

Soms zie je ineens het licht: De variabelle var_Target_full moet je wel zeggen dat het om een alias gaat, of te wel een pad! simpelasthat... ik kan het verder niet uittesten of het werkt met een gemounte schijf, aangezien ik die niet tot mijn beschikking heb, maar ik probeer het uit tussen een schijf die verdeelt is in 2 partities, daar werkt het in ieder geval prima op!

[code:1:d5c486377c]-- You nead only to chanche this variable
set var_Source_Disk to "Macintosh HD"
set var_Target_Disk to "Bacup_apple"
set var_Source to "Users::Bin"
set var_Target to "Bacup"
– This variable contens the path to the network driver
set var_Network_phat to "smb://
:
******@192.168.1.113/Bacup_apple"

– Don’t change this variable
set var_Target_full to var_Target_Disk & “:” & var_Target as alias
set var_Source_full to var_Source_Disk & “:” & var_Source as alias

– Mount disk
try
mount volume var_Network_phat
end try
– Try to find the target folder
tell application "Finder"
try
get folder var_Target of disk var_Target_Disk as alias
on error
make new folder at disk var_Target_Disk with properties {name:var_Target}
end try
duplicate var_Source_full to var_Target_full with replacing
end tell
[/code:1:d5c486377c]