PDA

View Full Version : Backup to server




Isobel
Feb 2, 2007, 05:45 AM
Hi,
I'm new to AppleScript and I need to know how to backup all files in a folder to a shared network volume.

Can anyone help or point me in the right direction.

I need to find out how to:
- connect to a shared volume on a remote server,
- create a new folder on the shared volume,
- re-name it with the current date (preferrably formatted as YYYY-MM-DD),
- copy the contents of a local folder to it
- delete oldest folder on volume
- un-mount the volume

Any help at all would be very much appreciated.
Thanks
Isobel



ChrisA
Feb 2, 2007, 10:49 AM
Hi,
I'm new to AppleScript and I need to know how to backup all files in a folder to a shared network volume.


Does this have to be done in AppleScript?

Is the network drive mounted before the script runs or does the script need to mount the network drive?

jeremy.king
Feb 2, 2007, 12:22 PM
Does this have to be done in AppleScript?


Good point, I would think a shell script is a better idea.

Isobel
Feb 7, 2007, 03:51 AM
The files to be backed up are on a G5 iMac. I thought Applescript was the best way to go but I could be wrong (I'm a beginner here).

I would prefer it if the code mounted the drive IF it's not already mounted, then un-mount it at the end.

Should i be using a shell script instead?

mbabauer
Feb 8, 2007, 01:05 PM
The files to be backed up are on a G5 iMac. I thought Applescript was the best way to go but I could be wrong (I'm a beginner here).

I would prefer it if the code mounted the drive IF it's not already mounted, then un-mount it at the end.

Should i be using a shell script instead?

I would use a shell script for this. I believe OS X has NFS mounting capabilities, if not I know if has some version of Samba for SMB mounting a remote drive.

Either way, you would have to have the drive "shared" on the G5 side and available. Then, your shell script would:
- Check if the mount point was there (I would mount to /Volumes, as this seems to be the OS X standard...most non-Apple *nix variants use /mnt though), and mount it if its not. this is very simple to do.
- Backup the data. Again, fairly easy depending on what you deem "backup". The easiest would be to simple tar/gzip the contents you want to backup to the newly mounted share. Tar has some options to "tar to STDOUT" or "Untar from STDIN", allowing you to directly send the output of tar to gzip for a single-line TARBall creation.
- Possibly confirm the backup happened, maybe send an alert if a problem is detected.
- Unmount the share

Once the script is written, you could even go so far as to create an Automator script around it to schedule it, or add it to cron, or even just run it manually.

I would suggest getting a cheap book on the Bash shell to accomplish the script, or you can just use Google.