Jump to content

Binary01

Members
  • Content count

    11
  • Joined

  • Last visited

  • Days Won

    1

Binary01 last won the day on December 11 2012

Binary01 had the most liked content!

Community Reputation

1 Neutral

About Binary01

  • Rank
    Member
  1. I started the backup and it says waiting for media, so I click on "Choose Media" and select one of the 8 tapes and hit OK. Nothing happens. It is still waiting for media. I tried selecting all of the tapes, one by one and even 'Library Slots 1-8" which includes all my tapes but it still says waiting for media.
  2. The tape was/is needed. I initially added the tape after the backup already failed for not enough space. Either way, now I'm not able to add any of the tapes to my media set. What's wrong?
  3. I am having a big problem with my Retrospect setup. I cannot add any members to a media set rendering Retrospect useless for my backups. I have an auto loading tape loader that I use for backups. I added another tape to the auto loader and I wanted to add it as a member of the backup media set. I go over to the Members section of the Media Set and add the the tape from the library slot. It warns me that all of the tape's contents will be lost and I hit add to confirm the process. I see the "Adding Member to Media Set" job in the activity log and it completes successfully however, it does not add it as a member to my media set. I tried deleting my original media set and creating a new one and now I can't even add any of the tapes as members. I am now stuck with an empty media set and no backups. I tried restarting the Retrospect engine and rebooting the server with no luck. Anyone have any ideas?
  4. Thanks for helping me understand my issue. I purchased another tape and hopefully my backup can complete successfuly
  5. I dont really see anything in the logs. How can I view a detailed log? The tapes are Sony LTX400G LTO 3 Tape Ultrium 3 400/800 GB Retrospect states that it backed up 2.2 TB and has 329.8 GB left. There are around 150,000 files. The files are mostly Illustrator/Photoshop files and JPEG images.
  6. I didnt use software compression. How can I tell if hardware compression is on? From the screenshot above it looks like I should have plenty of space to continue backing up. Should I perhaps change the media action from "No Media Action" to one of the other choices?
  7. I just setup Retrospect 9 to replace Retrospect 6 for my tape backups. When I created the media set it told me it will erase all data and create a new set. The data was copying at 1.7 GB/s so I dont think that's the problem I don't think the server was bottlenecked at all as I let the backup run over the weekend when nobody is using it. The tapes are 780 GB and I am not usign any compression. The media set still shows 3.1 TB of free space so I can't believe it needs another tape.
  8. I setup Retrospect 9 to backup a directory that is 2.5 TB in size to a tape auto loader with seven 780 GB tapes. The backup script is currently paused with the error "Needs Media". When I click on "choose media" it's looking for tape 8. I should have over 5 TB of space with these seven tapes. When I check the media set for this script it shows 3.1 TB of free space. Why is it asking for another tape and not completing the backup? How do I complete this backup?
  9. Yes the macmail.py file is in the correct location. I am able to get email notifications with the following AppleScript: http://hints.macworld.com/article.php?story=20060221145350354 so I know that's not the problem. There is something wrong with the code in the script that is causing it to just spit out the current date and not send out an email.
  10. This is the first time I am trying to setup email notifications for this product. The product has been installed and backing up for years but I recently decided to configure email notifications and I have yet to get them working.
  11. I am having an issue using the python version of the backup alert script. I edited the file with my email address and SMTP server and it still doesn't work. When I run the script within Applescript Utility all I see in the results box is the current date. It looks like there is something wrong with the code. Here is the code from the applescript that was included with my Retrospect 6.1: -- Retrospect Event Handler for Mail.app for OSX -- •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• -- You _must_ edit these email address property definitions. Insert the desired recipients -- into each group using quote marks, commas to separate multiple recipients, or -- leave curly brackets empty to not receive any mail for a group. Addresses must be -- in the form of one of the examples below, and a mix of the two types can be used. -- •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• property kMainGroup : {"email@somewhere.domain", "email2@somewhere.domain"} --will get mail for all events . property kSuccessGroup : {} --will get mail only if no errors occurred property kErrorGroup : {} --will get mail only when Retrospect reports an error property kMediaRequestGroup : {} --will get mail when Retrospect needs new media property kMailServer : "my.smtpserver.domain" -- the smtp server to use for sending mail property kFrom : "email@somewhere.domain" -- the from address for the mails that Retrospect sends --SMTP Authentication --if your mail server uses SMTP authentication, enter the username and password here property kUsername : "" property kPassword : "" -- the full path to the script that sends mail property kScriptCommand : "/usr/bin/python /Library/Preferences/Retrospect/macmail.py" -- This constant defines the interval (in hours) between Backup Server report emails. property kSendBackupServerReport : 12 -- Set this property to false if you don't want the main group to receive mail on script or Backup Server starts. property sendMailOnStart : true -- Nothing below this line needs to be edited. -- -- End of properties for the sendMail Function. -- -- Properties needed for the mediaRequestTimedOut function. property theRequestedMediaType : "" -- name of the media type property theRequestedMember : "" -- this will let the user know what the name of the next tape will be -- This property changes the look of the backup report. property lineDelimiter : "----------------------" -- Property for the header of the backup report. property dantzLegal : "Report generated by Retrospect, Copyright 2002 Dantz Development Corporation." & return & return ⬠& lineDelimiter & return & return -- globals global gBackUpReport, gVolumeErrors, gNumVolumesBackedup, gStorageSet, gMediaRequestSent, gBackUpServerRunning, gTimeKeeper -- always intialize globals set gBackUpReport to "" set gNumVolumesBackedup to 0 set gVolumeErrors to 0 set gBackUpServerRunning to false set gTimeKeeper to (current date) -- -- start of the Retrospect suite -- on scriptStart given scriptName:theScript, startDate:theDate if gBackUpServerRunning = false then set gVolumeErrors to 0 set theMessage to "The script \"" & theScript & "\" started on " & theDate & "." set gBackUpReport to dantzLegal & return & theMessage & return & return & return & lineDelimiter & return & return if sendMailOnStart is true then set mySubject to "Retrospect script has started" sendMail given Subject:mySubject, myMessage:theMessage, recipientsList:kMainGroup end if end if return true -- If you do not return true, Retrospect will stop the script. end scriptStart on serverStart() set gBackUpServerRunning to true set theMessage to "Backup Server has started." set gBackUpReport to dantzLegal & "From Backup Server:" & return & return if sendMailOnStart is true then set mySubject to "Backup Server has started" sendMail given Subject:mySubject, myMessage:theMessage, recipientsList:kMainGroup end if set gTimeKeeper to (current date) + (kSendBackupServerReport * hours) end serverStart on serverEnd() set gBackUpServerRunning to false if sendMailOnStart is true then set theMessage to "Backup Server has stopped." set mySubject to "Backup Server has stopped" sendMail given Subject:mySubject, myMessage:theMessage, recipientsList:kMainGroup end if end serverEnd on scriptEnd given scriptName:theScript, scriptErrorMessage:theScriptErrorMessage, errorCount:theErrorCount if gBackUpServerRunning = false then if theErrorCount is 0 and gVolumeErrors is 0 then set mySubject to "Execution completed successfully" set gBackUpReport to gBackUpReport & "The script finished with no errors." sendMail given Subject:mySubject, myMessage:gBackUpReport, recipientsList:kSuccessGroup sendMail given Subject:mySubject, myMessage:gBackUpReport, recipientsList:kMainGroup else set mySubject to "Retrospect script finished with errors" set gBackUpReport to gBackUpReport & "The script finished with errors." sendMail given Subject:mySubject, myMessage:gBackUpReport, recipientsList:kErrorGroup sendMail given Subject:mySubject, myMessage:gBackUpReport, recipientsList:kMainGroup end if set gVolumeErrors to 0 end if end scriptEnd on volumeEnd given volumeName:theVolume, kbCopied:theKB, fileCount:theFileCount, durationInSeconds:theDuration, backupDate:theBackupDate, startDate:theStartDate, endDate:theEndDate, destinationName:theDestination, ClientName:theClient, zoneName:theZone, scriptName:theScript, backupTypeString:theBackupType, subvolumeDiskName:theDiskName, fileErrorCount:theFileErrorCount, volumeErrorCode:theVolumeError, volumeErrorMessage:theVolumeErrorMessage, activatorCodeString:theActivatorCode set gStorageSet to theDestination set gNumVolumesBackedup to gNumVolumesBackedup + 1 if theVolumeError is not 0 or theFileErrorCount is not 0 then set gVolumeErrors to gVolumeErrors + 1 end if if theDiskName is not "" then set theParent to "The Subvolume’s parent disk is \"" & theDiskName & "\"." else set theParent to "" end if set theDuration to secondsConverter(theDuration) if theVolumeError is 0 then set theSuccess to "successfully" set mySubject to "Retrospect: Success" set gBackUpReport to gBackUpReport & "Volume \"" & theVolume & "\" completed " & theSuccess & ⬠", copying " & theFileCount & " files for " & theKB & " K with " & theFileErrorCount & ⬠" errors." & return & return & "Script \"" & theScript & "\" finished copying volume \"" & ⬠theVolume & "\" to destination \"" & theDestination & "\"." & return & return & "Duration: " & ⬠theDuration & "." & return & return & lineDelimiter & return & return else set theSuccess to "with error " & theVolumeError & ": " & theVolumeErrorMessage set mySubject to "Retrospect: Error " & theVolumeError & ": " & theVolumeErrorMessage set gBackUpReport to gBackUpReport & "•Error•" & return & return & ⬠"Volume \"" & theVolume & "\" completed " & theSuccess & "." & return & return & lineDelimiter & return & return end if end volumeEnd on mediaRequest given mediaTypeString:theMediaType, requestedMemberName:theMember, mediaIsKnownBoolean:mediaKnown set gMediaRequestSent to false set theRequestedMediaType to theMediaType set theRequestedMember to theMember return true end mediaRequest on mediaRequestTimedOut given numberOfSecondsWaited:theTimeOut set theTimeOut to secondsConverter(theTimeOut) if not gMediaRequestSent then set theMsg to "Retrospect needs a " & theRequestedMediaType & " named \"" & theRequestedMember & "\"." & return & return & ⬠"Please provide this " & theRequestedMediaType & " or other appropriate media." & return & return & ⬠"You have " & theTimeOut & "to supply Retrospect with new media or the current operation will cease." sendMail given Subject:"Retrospect: Media Request", myMessage:theMsg, recipientsList:kMediaRequestGroup sendMail given Subject:"Retrospect: Media Request", myMessage:theMsg, recipientsList:kMainGroup set gMediaRequestSent to true return false -- reset the media request else set gVolumeErrors to gVolumeErrors + 1 set gBackUpReport to gBackUpReport & ⬠"•Media request timeout occurred before script could successfully finish•" & return & return return true -- one media request timer cycle so timeout. end if end mediaRequestTimedOut -- The RetrospectQuit handler should always be available so the Retrospect Event Handler quits when Retrospect quits. on RetrospectQuit() quit --Please leave this in so that the Retrospect Event Handler cleans up properly end RetrospectQuit -- -- end of the Retrospect suite -- -- sendmail function for shell driven mail sending to sendMail given Subject:subj, myMessage:bodyText, recipientsList:reciplist if reciplist is {} or reciplist is "" or reciplist is {""} or bodyText is "" then return -- Nothing or no one to send to. set reciplist to reciplist as list --Here we writet the message body to a temporary file, so that macmail.py doesn't have to deal with shell limitations (such as maximum number of characters on the command line set target_file to "tmp:macmail.message" --no poisoning of our emails by other users do shell script "/bin/rm -f " & POSIX path of target_file my write_to_file(bodyText, target_file, false) repeat with toaddress in reciplist do shell script kScriptCommand & space & toaddress & space & kMailServer & space & quoted form of subj & space & POSIX path of target_file & space & kFrom & space & kUsername & space & kPassword end repeat --ditch the temp file do shell script "/bin/rm -f " & POSIX path of target_file end sendMail -- idle handler for delayed sending in backup server scripts. on idle if gBackUpServerRunning is false then return --only enter the idle handler if we are running a backup server script if (current date) > gTimeKeeper then set convertedDate to shortDate() --set the date to short date format set timeOfDate to time string of (current date) --now get the time set convertedDate to convertedDate & " " & timeOfDate --now put them together set gBackUpReport to gBackUpReport & return & ⬠"Retrospect Backup Server backed up " & gNumVolumesBackedup & " volume(s) in the last " & kSendBackupServerReport & " hours. " if gVolumeErrors is 0 then set mySubject to convertedDate & " Backup Server Report" set gBackUpReport to gBackUpReport & return & return & "Backup Server reported no errors. " sendMail given Subject:mySubject, myMessage:gBackUpReport, recipientsList:kSuccessGroup sendMail given Subject:mySubject, myMessage:gBackUpReport, recipientsList:kMainGroup else set mySubject to convertedDate & " Error in Backup Server Report" set gBackUpReport to gBackUpReport & "Backup Server reported " & gVolumeErrors & " errors. " sendMail given Subject:mySubject, myMessage:gBackUpReport, recipientsList:kErrorGroup sendMail given Subject:mySubject, myMessage:gBackUpReport, recipientsList:kMainGroup end if set gBackUpReport to dantzLegal & "From Backup Server:" & return & return set gTimeKeeper to (current date) + (kSendBackupServerReport * hours) set gNumVolumesBackedup to 0 set gVolumeErrors to 0 end if return end idle -- this function will convert seconds to hours minutes seconds. on secondsConverter(mySeconds) set timeString to "" set myHours to 0 set myMinutes to 0 if (mySeconds = 0) then set timeString to "zero seconds" else if (mySeconds ≥ hours) then set myHours to mySeconds div hours set mySeconds to mySeconds mod hours if (myHours = 1) then set timeString to timeString & "1 hour " else set timeString to timeString & myHours & " hours " end if end if if (mySeconds ≥ minutes) then set myMinutes to mySeconds div minutes set mySeconds to mySeconds mod minutes if (myMinutes = 1) then set timeString to timeString & "1 minute " else set timeString to timeString & myMinutes & " minutes " end if end if if (mySeconds ≠0) then if (mySeconds = 1) then set timeString to timeString & "1 second" else set timeString to timeString & mySeconds & " seconds" end if end if end if return timeString end secondsConverter -- this function will convert AppleScript's long date format to a short date format. on shortDate() set today to current date set thisDate to day of today set theDay to thisDate + 0 -- And now do the month set thisMonth to month of today if thisMonth is January then set theMonth to 1 else if thisMonth is February then set theMonth to 2 else if thisMonth is March then set theMonth to 3 else if thisMonth is April then set theMonth to 4 else if thisMonth is May then set theMonth to 5 else if thisMonth is June then set theMonth to 6 else if thisMonth is July then set theMonth to 7 else if thisMonth is August then set theMonth to 8 else if thisMonth is September then set theMonth to 9 else if thisMonth is October then set theMonth to 10 else if thisMonth is November then set theMonth to 11 else -- It has to be December set theMonth to 12 end if set thisYear to year of today set theYear to thisYear + 0 set theYear to characters 3 through 4 of (theYear as string) as string return (theMonth & "/" & theDay & "/" & theYear) as string end shortDate -- From apple essential subroutines on write_to_file(this_data, target_file, append_data) try set the target_file to the target_file as text set the open_target_file to ⬠open for access file target_file with write permission if append_data is false then ⬠set eof of the open_target_file to 0 write this_data to the open_target_file starting at eof close access the open_target_file return true on error try close access file target_file end try return false end try end write_to_file
×