Re: [Bacula-users] Exchange plugin always truncating logs (when it should not)

2012-05-05 Thread Guido Falsi
On 05/05/12 06:48, James Harper wrote:
>>
>> I've been using bacula to backup an exchange 2003 server for some time with
>> success. You could say I'm an happy user :)
>>
>> Lately I noticed bacula started truncating logs on EVERY backup, also
>> incrementals and differentials, when it should not.
>>
>> I'm not sure when this happened. I'm inclined to thing it started when
>> I upgraded to 5.2.6 But I don't have logs handy till them. I can try to
>> reover them from some backup perhaps.
>>
>> The machine is a Windows 2003 R2 server, 32 bit. I used the installer
>> from the project page on sourceforge to install bacula.
>>
>> If needed I can try installing a previous version on this client and see
>> if this makes the problem disappear. Is such a scenario(older client)
>> supported?
>>
>
> That's really strange. The code to do this is pretty straightforward... at 
> job init it does this:
>
>switch (context->job_level) {
>case 'F':
>   if (context->notrunconfull_option) {
>  context->truncate_logs = false;
>   } else {
>  context->truncate_logs = true;
>   }
>   break;
>case 'D':
>   context->truncate_logs = false;
>   break;
>case 'I':
>   context->truncate_logs = false;
>   break;
>default:
>   _DebugMessage(100, "Invalid job level %c\n", context->job_level);
>   return bRC_Error;
>}
>break;
>
> Then later it does this:
>
>if (context->truncate_logs) {
>   _DebugMessage(100, "Calling HrESEBackupTruncateLogs\n");
>   result = HrESEBackupTruncateLogs(hccx);
>   if (result != 0) {
>  _JobMessage(M_FATAL, "HrESEBackupTruncateLogs failed with error 
> 0x%08x - %s\n", result, ESEErrorMessage(result));
>   } else {
>  _JobMessage(M_INFO, "Truncated database logs for Storage Group 
> %s\n", name);
>   }
>} else {
>   _JobMessage(M_INFO, "Did NOT truncate database logs for Storage 
> Group %s\n", name);
>}
>
> And nothing else touches truncate_logs in between that I can see.
>
> Could you please try doing:
>
> set debug level=200 trace=1
>
> for your fd, run a backup, and then email me the resulting trace file (in the 
> fd working directory I think). I'm wondering if something has changed and the 
> callback ordering is different or something.
>

Thank you for the fast feedback. I'll try this Monday morning and report 
back.

Thank you again!

-- 
Guido Falsi 

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users


Re: [Bacula-users] Exchange plugin always truncating logs (when it should not)

2012-05-04 Thread James Harper
> 
> I've been using bacula to backup an exchange 2003 server for some time with
> success. You could say I'm an happy user :)
> 
> Lately I noticed bacula started truncating logs on EVERY backup, also
> incrementals and differentials, when it should not.
> 
> I'm not sure when this happened. I'm inclined to thing it started when
> I upgraded to 5.2.6 But I don't have logs handy till them. I can try to
> reover them from some backup perhaps.
> 
> The machine is a Windows 2003 R2 server, 32 bit. I used the installer
> from the project page on sourceforge to install bacula.
> 
> If needed I can try installing a previous version on this client and see
> if this makes the problem disappear. Is such a scenario(older client)
> supported?
> 

That's really strange. The code to do this is pretty straightforward... at job 
init it does this:

  switch (context->job_level) {
  case 'F':
 if (context->notrunconfull_option) {
context->truncate_logs = false;
 } else {
context->truncate_logs = true;
 }
 break;
  case 'D':
 context->truncate_logs = false;
 break;
  case 'I':
 context->truncate_logs = false;
 break;
  default:
 _DebugMessage(100, "Invalid job level %c\n", context->job_level);
 return bRC_Error;
  }
  break;

Then later it does this:

  if (context->truncate_logs) {
 _DebugMessage(100, "Calling HrESEBackupTruncateLogs\n");
 result = HrESEBackupTruncateLogs(hccx);
 if (result != 0) {
_JobMessage(M_FATAL, "HrESEBackupTruncateLogs failed with error 
0x%08x - %s\n", result, ESEErrorMessage(result));
 } else {
_JobMessage(M_INFO, "Truncated database logs for Storage Group 
%s\n", name);
 }
  } else {
 _JobMessage(M_INFO, "Did NOT truncate database logs for Storage Group 
%s\n", name);
  }

And nothing else touches truncate_logs in between that I can see.

Could you please try doing:

set debug level=200 trace=1

for your fd, run a backup, and then email me the resulting trace file (in the 
fd working directory I think). I'm wondering if something has changed and the 
callback ordering is different or something.

James


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users


[Bacula-users] Exchange plugin always truncating logs (when it should not)

2012-05-04 Thread Guido Falsi
Hi!

I've been using bacula to backup an exchange 2003 server for some time with
success. You could say I'm an happy user :)

Lately I noticed bacula started truncating logs on EVERY backup, also
incrementals and differentials, when it should not.

I'm not sure when this happened. I'm inclined to thing it started when
I upgraded to 5.2.6 But I don't have logs handy till them. I can try to
reover them from some backup perhaps.

The machine is a Windows 2003 R2 server, 32 bit. I used the installer
from the project page on sourceforge to install bacula.

If needed I can try installing a previous version on this client and see
if this makes the problem disappear. Is such a scenario(older client)
supported?

The job description is unmodified since february 2011, and I'm sure it
was not truncating logs back then.

here's the job definition (defaults too):

JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Full
Accurate = yes
Messages = Standard
Pool = Default
Priority = 10
SpoolData = no
Spool Attributes = yes
Write Bootstrap = "/var/db/bacula/Bootstraps/%c_%n"
Max Start Delay = 20 h
Enabled = yes
}

Job {
Name = "nifi10MonthlyMain"
Jobdefs = "DefaultJob"
Schedule = "MonthlyCycleMain"
Storage = "Storageworks-1"
Client = "ntfi10-fd"
FileSet = "ntfi10 Set"
# Exchange plugin not tested with accurate backups. Don't
# use the option.
Accurate = no
Client Run Before Job = "PreBCK.bat before"
Client Run After Job = "PreBCK.bat after"
}

FileSet {
Name = "ntfi10 Set"
Enable VSS = yes
Include {
Options {
Signature = SHA1
}
Plugin = "exchange:/@EXCHANGE/Microsoft Information
Store"
File = "E:/Exchsrvr/NTFI10.log"
File = "E:/Exchsrvr/Old-logs"
File = "D:/Save_DB_Marcatempo"
File = "D:/Software"
File = "D:/tmp_BO"
File = "E:/Documenti"
File = "E:/backup"
}
}

The accurate and Enable VSS line have always been like that. So I don't
think they're problematic.

I'm quite sure that up to last year this configuration DID work as
expected.

Here are the messages from an Incremental:

03-May 23:51 uxifi04-dir JobId 26741: Start Backup JobId 26741, 
Job=nifi10MonthlyMain.2012-05-03_22.30.01_42
03-May 23:51 uxifi04-dir JobId 26741: Using Device "Ultrium-1"
03-May 23:51 ntfi10-fd JobId 26741: shell command: run ClientRunBeforeJob 
"PreBCK.bat before"
03-May 23:51 ntfi10-fd JobId 26741: ClientRunBeforeJob: 
03-May 23:51 ntfi10-fd JobId 26741: ClientRunBeforeJob: C:\WINDOWS\system32>REM 
$VGFi: PreBCK.bat,v 1.2 2010/01/19 15:40:24 gfalsi Exp $ 
03-May 23:51 ntfi10-fd JobId 26741: ClientRunBeforeJob: 
03-May 23:51 ntfi10-fd JobId 26741: ClientRunBeforeJob: C:\WINDOWS\system32>if 
"before" == "before" goto create 
03-May 23:51 ntfi10-fd JobId 26741: ClientRunBeforeJob: 
03-May 23:51 ntfi10-fd JobId 26741: ClientRunBeforeJob: 
C:\WINDOWS\system32>C:\windows\system32\ntbackup.exe backup systemstate /J 
"NTFI10 SystemState" /F "E:\backup\ntfi10-systemstate.bkf" /R:yes /L:n /SNAP:on 
03-May 23:55 ntfi10-fd JobId 26741: ClientRunBeforeJob: 
03-May 23:55 ntfi10-fd JobId 26741: ClientRunBeforeJob: 
C:\WINDOWS\system32>goto :scend 
03-May 23:55 ntfi10-fd JobId 26741: ClientRunBeforeJob: 
03-May 23:55 ntfi10-fd JobId 26741: ClientRunBeforeJob: 
C:\WINDOWS\system32>exit 0 
03-May 23:55 uxifi04-sd JobId 26741: Spooling data ...
03-May 23:55 ntfi10-fd JobId 26741: Generate VSS snapshots. Driver="Win32 VSS", 
Drive(s)="ED"
03-May 23:58 ntfi10-fd JobId 26741: Preparing Exchange Backup for NTFI10
03-May 23:58 ntfi10-fd JobId 26741: Truncated database logs for Storage Group 
First Storage Group
03-May 23:58 ntfi10-fd JobId 26741: Truncated database logs for Storage Group 
Second Storage Group
03-May 23:58 ntfi10-fd JobId 26741: Truncated database logs for Storage Group 
Third Storage Group
03-May 23:58 ntfi10-fd JobId 26741: VSS Writer (BackupComplete): "System 
Writer", State: 0x1 (VSS_WS_STABLE)
03-May 23:58 ntfi10-fd JobId 26741: VSS Writer (BackupComplete): "Microsoft 
Exchange Writer", State: 0x1 (VSS_WS_STABLE)
03-May 23:58 ntfi10-fd JobId 26741: VSS Writer (BackupComplete): "IIS Metabase 
Writer", State: 0x1 (VSS_WS_STABLE)
03-May 23:58 ntfi10-fd JobId 26741: VSS Writer (BackupComplete): "MSDEWriter", 
State: 0x1 (VSS_WS_STABLE)
03-May 23:58 ntfi10-fd JobId 26741: VSS Writer (BackupComplete): "BITS Writer", 
State: 0x1 (VSS_WS_STABLE)
03-May 23:58 ntfi10-fd JobId 26741: VSS Writer (BackupComplete): "Event Log 
Writer", State: 0x1 (VSS_WS_STABLE)
03-May 23:58 ntfi10-fd JobId 26741: VSS Writer (BackupComplete): "Registry 
Writer", State: 0x1 (VSS_WS_STABLE)
03-May 23:58 ntfi10-fd JobId 26741: VSS Writer (BackupComplete): "Removable 
Storage Manager", Stat