PDA

View Full Version : alternating backup


snoopy67
08-25-2005, 10:13 AM
I have devised a very simple scheme where i make a backup on partition 1 on my external disk, the next day a make the backup on partition 2 on the external disk, the next on partition 1 again, then partition 2, etc.
[sort of a "very poor man's incremental backup" ;-) ]

What i would like SD to do for me is just to remember the last time a made a backup on each partition.

Any ideas?

Cheers,
Gab.

dnanian
08-25-2005, 10:33 AM
Remember how, Gab?

snoopy67
08-26-2005, 04:11 AM
Sorry, no ....

dnanian
08-26-2005, 06:37 AM
I'm really not sure what you mean.

darelon
08-27-2005, 02:31 PM
@snoopy67: to semi-automatically backup to alternating volumes, you could e.g.

1. save the SD! settings for each backup volume separately,
2. create a script to start a SD! backup with (and to keep track of) alternating settings, and
3. use this script to start your regular backups to alternating volumes.

AppleScript is particularly handy for step 2 -- let me know if you'd like an example based on Dave's "Daily Backup" AppleScript application.

@Dave: hope you don't mind me intruding here ;-)

dnanian
08-27-2005, 02:55 PM
Ah -- I now see what was confusing here. I meant "How do you mean "remember"", and I think you took it as "Do you remember how"!

So -- hopefully darelon's response is helpful, but if not, could you explain a bit more about how you mean "remember"?

Thanks, and sorry for any confusion.

snoopy67
08-29-2005, 05:27 AM
AppleScript is particularly handy for step 2 -- let me know if you'd like an example based on Dave's "Daily Backup" AppleScript application.



Thanks for the help. Unfortunately, i don't speak Applescript (just ksh & Co.), so i would like to ask you to provide the example :o

Thanks a lot in advance,
Gabriel.

darelon
08-29-2005, 07:34 PM
Gabriel,

I used the script below when I still had an abundance of disk space; now I'm down to just one backup and a sandbox. As said before, it's Dave's "Daily Backup" script with some extra lines to use a sequence of backup settings. It 'remembers' the last backup settings used and will cycle through a list of settings you specify in the script.

First and foremost, you'll need to set up SD! with the correct settings for each volume you want to backup to, and save those settings in separate files (see section 6 of the User's Guide for more info on saved settings). Also, you'll need to unlock SD! to be able to run it via AppleScript.

Second, open the Scripteditor application (usually resides in the /Applications/AppleScript folder) and copy+paste the code below into the empty script window.

You'll need to change the values in the "property allBackupSettings : …" line at the top of the script to reflect the names and required order of your saved backup settings. Then save the script as an application bundle without startup dialog wherever you want.

Finally, when you want to execute one of your regular alternating backups, run the Applescript application you just created instead of SD! directly. You can do this manually, or schedule it with e.g. iCal. The script app will determine the next backup settings to be used and start SD! with those settings, and quit SD! when it's done.

(* Rotating Backup - use a cyclic sequence of SuperDuper! backup settings *)

-- allBackupSettings should contain the names of all saved SuperDuper! backup settings to cycle through
-- any external volumes referenced in the saved backup settings used should be mounted before running this script
property allBackupSettings : {"Smart Backup All To Volume 1", "Smart Backup Users To Volume 2", "Smart Backup All to Sparse Image 1", "Smart Backup Users To Sparse Image 2"}

-- backupSettings will retain the name of the backup settings used for the last successfully completed backup
property backupSettings : ""

-- set new backup settings to use, cycling through the list of saved settings
set previousBackupSettings to backupSettings
if backupSettings is "" or backupSettings is last item of allBackupSettings then
set backupSettings to first item of allBackupSettings
else
repeat with i from 1 to (count allBackupSettings)
if backupSettings is item i of allBackupSettings then
set backupSettings to item (i + 1) of allBackupSettings
exit repeat
end if
end repeat
end if

(*
-- uncomment these five lines if you always want to manually confirm or select from the backup settings list
set backupSettings to first item of (choose from list allBackupSettings with prompt "Confirm or select backup settings to use:" default items backupSettings without multiple selections allowed and empty selection allowed)
if backupSettings is false then
set backupSettings to previousBackupSettings
quit
end if
*)

tell application "SuperDuper!"
try
--Wait until SuperDuper! is idle before loading and running the desired session
repeat while status is not idle
--Sleep # seconds is the best way to "wait" without using the CPU
tell application "System Events" to do shell script "sleep 5"
end repeat
if status is idle then
--Specify the saved settings as either an absolute path or just the name
--run using settings "Daily Backup" without user interaction
run using settings backupSettings without user interaction
end if
--Wait until the session is done
repeat while status is running
--Sleep # seconds is the best way to "wait" without using the CPU
tell application "System Events" to do shell script "sleep 5"
end repeat
on error errMsg
-- backup failed, so restore saved backup settings last used
-- N.B. backup stopped by user is considered successful by SuperDuper! in this context
set backupSettings to previousBackupSettings
display dialog errMsg & " See section 12 of the User's Guide for help with this script."
end try
--Once done, tell SuperDuper! to quit
quit
end tell

N.B. When SD! encounters an error, the script will not advance to the next backup settings when you start it again -- but note that when you manually stop a running backup, SD! does not see this as an error; this will leave you with an interupted backup *and* the next backup settings would be used when you'd restart the backup via the script. Something to keep in mind. If you want, you can uncomment the lines just before the 'tell application "SuperDuper!"' line to check or change the backup settings that will be used by the script.

Well, that should be it. Let me know if you have any questions or it doesn't quite fit the bill. Of course, all the usual disclaimers apply… ;)

Hope this helps,
Ciao,
Roeland.

dnanian
08-29-2005, 08:11 PM
(Thanks for passing this along, Roeland!)

snoopy67
08-30-2005, 05:36 AM
I used the script below ...
Ciao,
Roeland.

thanks a lot! i'll try it as soon as i'll be back at my office.

Since i'm completely new to applescript, i've got one question out of curiosity, which i couldn't get an answer by quickly browsing the Applescript Language Guide:
are variables in apple scripts persistent? i.e., when a script exits, are all values of variables saved, and then restored when the script runs the next time?

Best regards,
Gabriel.

dnanian
08-30-2005, 07:48 AM
Properties like this are, Gab.

BudSimrin
04-04-2009, 05:14 PM
[QUOTE=darelon;3169]@snoopy67: to semi-automatically backup to alternating volumes, you could e.g.

How about simply using the scheduler built-in to SuperDuper? That is, schedule one backup for every MWFSun, and the other for TTSat. You would be using the same backup on Sun and Mon but otherwise alternating. Not perfect, but close and very simple to implement.http://www.shirt-pocket.com/forums/images/smilies/redface.gif