]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/backup.c
kes Modify job report to include director name and Build OS.
[bacula/bacula] / bacula / src / dird / backup.c
index 1975e5b078789b50b0aec3c66202939166183b5d..233074af87d4236174f09c3fa458c879915312b0 100644 (file)
@@ -1,22 +1,7 @@
-/*
- *
- *   Bacula Director -- backup.c -- responsible for doing backup jobs
- *
- *     Kern Sibbald, March MM
- *
- *  Basic tasks done here:
- *     Open DB and create records for this job.
- *     Open Message Channel with Storage daemon to tell him a job will be starting.
- *     Open connection with File daemon and pass him commands
- *       to do the backup.
- *     When the File daemon finishes the job, update the DB.
- *
- *   Version $Id$
- */
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+ *
+ *   Bacula Director -- backup.c -- responsible for doing backup jobs
+ *
+ *     Kern Sibbald, March MM
+ *
+ *  Basic tasks done here:
+ *     Open DB and create records for this job.
+ *     Open Message Channel with Storage daemon to tell him a job will be starting.
+ *     Open connection with File daemon and pass him commands
+ *       to do the backup.
+ *     When the File daemon finishes the job, update the DB.
+ *
+ *   Version $Id$
+ */
 
 #include "bacula.h"
 #include "dird.h"
@@ -53,11 +53,11 @@ static char storaddr[]  = "storage address=%s port=%d ssl=%d\n";
 static char OKbackup[]   = "2000 OK backup\n";
 static char OKstore[]    = "2000 OK storage\n";
 static char EndJob[]     = "2800 End Job TermCode=%d JobFiles=%u "
-                           "ReadBytes=%lld JobBytes=%lld Errors=%u "  
+                           "ReadBytes=%llu JobBytes=%llu Errors=%u "  
                            "VSS=%d Encrypt=%d\n";
 /* Pre 1.39.29 (04Dec06) EndJob */
 static char OldEndJob[]  = "2800 End Job TermCode=%d JobFiles=%u "
-                           "ReadBytes=%lld JobBytes=%lld Errors=%u\n";
+                           "ReadBytes=%llu JobBytes=%llu Errors=%u\n";
 /* 
  * Called here before the job is run to do the job
  *   specific setup.
@@ -78,7 +78,7 @@ bool do_backup_init(JCR *jcr)
 
    apply_pool_overrides(jcr);
 
-   jcr->jr.PoolId = get_or_create_pool_record(jcr, jcr->pool->hdr.name);
+   jcr->jr.PoolId = get_or_create_pool_record(jcr, jcr->pool->name());
    if (jcr->jr.PoolId == 0) {
       return false;
    }
@@ -233,6 +233,7 @@ bool do_backup(JCR *jcr)
 
    /* Pickup Job termination data */
    stat = wait_for_job_termination(jcr);
+   db_write_batch_file_records(jcr);    /* used by bulk batch file insert */
    if (stat == JS_Terminated) {
       backup_cleanup(jcr, stat);
       return true;
@@ -261,7 +262,8 @@ int wait_for_job_termination(JCR *jcr)
    BSOCK *fd = jcr->file_bsock;
    bool fd_ok = false;
    uint32_t JobFiles, Errors;
-   uint64_t ReadBytes, JobBytes;
+   uint64_t ReadBytes = 0;
+   uint64_t JobBytes = 0;
    int VSS = 0;
    int Encrypt = 0;
 
@@ -284,6 +286,7 @@ int wait_for_job_termination(JCR *jcr)
          break;
       }
    }
+
    if (is_bnet_error(fd)) {
       Jmsg(jcr, M_FATAL, 0, _("Network error with FD during %s: ERR=%s\n"),
           job_type_to_str(jcr->JobType), bnet_strerror(fd));
@@ -339,12 +342,10 @@ void backup_cleanup(JCR *jcr, int TermCode)
    utime_t RunTime;
 
    Dmsg2(100, "Enter backup_cleanup %d %c\n", TermCode, TermCode);
-   dequeue_messages(jcr);             /* display any queued messages */
    memset(&mr, 0, sizeof(mr));
    memset(&cr, 0, sizeof(cr));
-   set_jcr_job_status(jcr, TermCode);
 
-   update_job_end_record(jcr);        /* update database */
+   update_job_end(jcr, TermCode);
 
    if (!db_get_job_record(jcr, jcr->db, &jcr->jr)) {
       Jmsg(jcr, M_WARNING, 0, _("Error getting job record for stats: %s"),
@@ -437,7 +438,8 @@ void backup_cleanup(JCR *jcr, int TermCode)
 
 // bmicrosleep(15, 0);                /* for debugging SIGHUP */
 
-   Jmsg(jcr, msg_type, 0, _("Bacula %s (%s): %s\n"
+   Jmsg(jcr, msg_type, 0, _("Bacula %s %s (%s): %s\n"
+"  Build OS:               %s %s %s\n"
 "  JobId:                  %d\n"
 "  Job:                    %s\n"
 "  Backup Level:           %s%s\n"
@@ -467,9 +469,8 @@ void backup_cleanup(JCR *jcr, int TermCode)
 "  FD termination status:  %s\n"
 "  SD termination status:  %s\n"
 "  Termination:            %s\n\n"),
-        VERSION,
-        LSMDATE,
-        edt,
+        my_name, VERSION, LSMDATE, edt,
+        HOST_OS, DISTNAME, DISTVER,
         jcr->jr.JobId,
         jcr->jr.Job,
         level_to_str(jcr->JobLevel), jcr->since,