/*
Bacula® - The Network Backup Solution
- Copyright (C) 2003-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2003-2012 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.
This program is Free Software; you can redistribute it and/or
- modify it under the terms of version two of the GNU General Public
- License as published by the Free Software Foundation plus additions
- that are listed in the file LICENSE.
+ modify it under the terms of version three of the GNU Affero General Public
+ License as published by the Free Software Foundation and included
+ in the file LICENSE.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Affero General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Bacula® is a registered trademark of John Walker.
+ Bacula® is a registered trademark of Kern Sibbald.
The licensor of Bacula is the Free Software Foundation Europe
(FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
Switzerland, email:ftf@fsfeurope.org.
* Basic tasks done here:
* Display the job report.
*
- * Version $Id$
*/
#include "bacula.h"
bool do_admin_init(JCR *jcr)
{
free_rstorage(jcr);
+ if (!allow_duplicate_job(jcr)) {
+ return false;
+ }
return true;
}
Jmsg(jcr, M_INFO, 0, _("Start Admin JobId %d, Job=%s\n"),
jcr->JobId, jcr->Job);
- set_jcr_job_status(jcr, JS_Running);
+ jcr->setJobStatus(JS_Running);
admin_cleanup(jcr, JS_Terminated);
return true;
}
*/
void admin_cleanup(JCR *jcr, int TermCode)
{
- char sdt[50], edt[50];
+ char sdt[50], edt[50], schedt[50];
char term_code[100];
const char *term_msg;
int msg_type;
MEDIA_DBR mr;
Dmsg0(100, "Enter backup_cleanup()\n");
- memset(&mr, 0, sizeof(mr));
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 Job report: ERR=%s"),
db_strerror(jcr->db));
- set_jcr_job_status(jcr, JS_ErrorTerminated);
+ jcr->setJobStatus(JS_ErrorTerminated);
}
msg_type = M_INFO; /* by default INFO message */
sprintf(term_code, _("Inappropriate term code: %c\n"), jcr->JobStatus);
break;
}
- bstrftime(sdt, sizeof(sdt), jcr->jr.StartTime);
- bstrftime(edt, sizeof(edt), jcr->jr.EndTime);
+ bstrftimes(schedt, sizeof(schedt), jcr->jr.SchedTime);
+ bstrftimes(sdt, sizeof(sdt), jcr->jr.StartTime);
+ bstrftimes(edt, sizeof(edt), jcr->jr.EndTime);
+
Jmsg(jcr, msg_type, 0, _("Bacula " VERSION " (" LSMDATE "): %s\n"
" JobId: %d\n"
" Job: %s\n"
+" Scheduled time: %s\n"
" Start time: %s\n"
" End time: %s\n"
" Termination: %s\n\n"),
edt,
jcr->jr.JobId,
jcr->jr.Job,
+ schedt,
sdt,
edt,
term_msg);