Hi, I have been in discussions with Horacio of Evotiva and we are both stumped so I am posting this here:
I use the Evotiva Backup module to backup my database with a scheduled task. Recently my sites were moved to a new server and this stopped working. Here is the error:
.UnauthorizedAccessException: Access to the path 'C:\XYZ\BACKUP\EvotivaBackups\PokerDIYDatabase2009-03-06-213914.bkp' is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) at Evotiva.BackupNativeUtilities.CompressTools.?(String ?, String ?, String ?, Int32 ?, Int32 ?, String ?, Int32 ?, String ?) at Evotiva.BackupNativeUtilities.CompressTools.DoZipFile(String strFileToZip, String strEntryName, String strZippedFile, Int32 nCompressionLevel, Int32 useZip64Option, String zipPassword, Int32 nBufferSize, String CommentMessage) at Evotiva.DNN.Modules.BackupNative.BackupController.ֺ(String ֻ, String ּ, Boolean ֽ, Boolean ־) --- End of inner exception stack trace --- at Evotiva.DNN.Modules.BackupNative.BackupController.ֺ(String ֻ, String ּ, Boolean ֽ, Boolean ־) at Evotiva.DNN.Modules.BackupNative.BackupController.ֺ() at Evotiva.DNN.Modules.BackupNative.BackupController.?() --- End of inner exception stack trace --- at Evotiva.DNN.Modules.BackupNative.BackupController.?() at Evotiva.DNN.Modules.BackupNative.BackupController.PerformScheduledBackup() at Evotiva.DNN.Modules.BackupNative.ScheduledBackup.?()]
Basically the database backup dump is working correctly. It is creating a .bkp file inthe right location. What is NOT working is the auto-zipping of it by the scheduled task. It can't open the newly-dumped file. This obviously looks like a file perms issue - I have the Account which the IIS process is running under with Full Control on that directory (cascaded from the root all the way to the bottom) AND for the meantime I have added EVERYONE (with Full Control) to the entire affected tree. It still does not work. The file mentioned above definitely has EVERYONE with full rights on it.
I have tried using Impersonation in the module (although Horacio says that the DNN Scheduler does not yet support this) with no luck. It used to work on my old server (unfortunately I don't have access to it so can't check the config).
So - perhaps the Zipping process (which uses the SharpZipLib library) is using a temp folder which does not have the right rights? I tried adding EVERYONE to the LocalSettings Temp folders with no joy.
I am running DNN 4.9.2 on a Windows 2003 Dedicated Server (SQL + Web server on same box)
Can anyone shed any light on this? I have screenshots of my folder perms, the IIS process user etc. etc.