-/*
- *
- * 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"
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.
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;
}
/* 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;
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;
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));
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"),
// bmicrosleep(15, 0); /* for debugging SIGHUP */
- Jmsg(jcr, msg_type, 0, _("Bacula %s (%s): %s\n"
+ Jmsg(jcr, msg_type, 0, _("Bacula %s Version: %s (%s) %s %s %s at %s\n"
" JobId: %d\n"
" Job: %s\n"
" Backup Level: %s%s\n"
" FD termination status: %s\n"
" SD termination status: %s\n"
" Termination: %s\n\n"),
- VERSION,
- LSMDATE,
+ my_name, VERSION, BDATE, HOST_OS, DISTNAME, DISTVER,
edt,
jcr->jr.JobId,
jcr->jr.Job,