+16Apr04
+- Modify bscan to print some elementary statistics (#Jobs, #Files, ...)
+ added to catalog.
+15Apr04
+- Added --enable-wx-console and updated Makefile.in
+- Fix mtx-changer so that the calling sequence is compatible
+ with the previous version (the new one required arguments that
+ were not necessarily used).
+- Document how to use stunnel with Bacula.
13Apr04
- Fix crash in query command.
- Remove schedule from the default restore job.
- Autochanger users, please note you must add %d to the end of the
changer command line in your Device resource in your bacula-sd.conf
file.
+- Modify bscan to print some elementary statistics (#Jobs, #Files, ...)
+ added to catalog.
+- Added --enable-wx-console and updated Makefile.in
+- Fix mtx-changer so that the calling sequence is compatible
+ with the previous version (the new one required arguments that
+ were not necessarily used).
+- Document how to use stunnel with Bacula.
+- Fix crash in query command.
+- Remove schedule from the default restore job.
- Fix data spooler to use min/max tape blocking factors.
- Automatically turn of conio if library not found instead of bombing.
- Cleaned up a lot of copyright dates.
msg_type = M_INFO; /* by default INFO message */
switch (jcr->JobStatus) {
case JS_Terminated:
- term_msg = _("Backup OK");
+ if (jcr->Errors || jcr->SDErrors) {
+ term_msg = _("Backup OK with warnings");
+ } else {
+ term_msg = _("Backup OK");
+ }
break;
case JS_FatalError:
case JS_ErrorTerminated:
/* Setup some dummy values */
jcr->Job[0] = 0; /* no job name by default */
jcr->JobId = 0;
- jcr->JobType = JT_ADMIN;
+ jcr->JobType = JT_SYSTEM; /* internal job until defined */
jcr->JobLevel = L_NONE;
jcr->JobStatus = JS_Created;
static int list_records = 0;
static int ignored_msgs = 0;
+static int num_jobs = 0;
+static int num_pools = 0;
+static int num_media = 0;
+static int num_files = 0;
+
#define CONFIG_FILE "bacula-sd.conf"
char *configfile;
bool forge_on = false;
}
do_scan();
+ printf("Records added to catalog:\n%7d Media\n%7d Pool\n%7d Job\n%7d File\n",
+ num_media, num_pools, num_jobs, num_files);
free_jcr(bjcr);
return 0;
/* Check Pool info */
bstrncpy(pr.Name, dev->VolHdr.PoolName, sizeof(pr.Name));
bstrncpy(pr.PoolType, dev->VolHdr.PoolType, sizeof(pr.PoolType));
+ num_pools++;
if (db_get_pool_record(bjcr, db, &pr)) {
if (verbose) {
Pmsg1(000, _("Pool record for %s found in DB.\n"), pr.Name);
memset(&mr, 0, sizeof(mr));
bstrncpy(mr.VolumeName, dev->VolHdr.VolName, sizeof(mr.VolumeName));
mr.PoolId = pr.PoolId;
+ num_media++;
if (db_get_media_record(bjcr, db, &mr)) {
if (verbose) {
Pmsg1(000, _("Media record for %s found in DB.\n"), mr.VolumeName);
case SOS_LABEL:
mr.VolJobs++;
+ num_jobs++;
if (ignored_msgs > 0) {
Pmsg1(000, _("%d \"errors\" ignored before first Start of Session record.\n"),
ignored_msgs);
}
fr.JobId = mjcr->JobId;
fr.FileId = 0;
+ num_files++;
if (db_get_file_attributes_record(bjcr, db, attr->fname, NULL, &fr)) {
if (verbose > 1) {
Pmsg1(000, _("File record already exists for: %s\n"), attr->fname);
*/
+#ifdef APCUPSD
+
+#include "apc.h"
+#undef main
+#define my_name_is(x)
+#define bstrdup(x) strdup(x)
+UPSINFO myUPS;
+UPSINFO *core_ups = &myUPS;
+#define MY_NAME "smtp"
+
+#else
+
#include "bacula.h"
#include "jcr.h"
+#define MY_NAME "bsmtp"
+
+#endif
+
#ifndef MAXSTRING
#define MAXSTRING 254
{
fprintf(stderr,
"\n"
-"Usage: bsmtp [-f from] [-h mailhost] [-s subject] [-c copy] [recepient ...]\n"
+"Usage: %s [-f from] [-h mailhost] [-s subject] [-c copy] [recepient ...]\n"
" -c set the Cc: field\n"
" -dnn set debug level to nn\n"
" -f set the From: field\n"
" -h use mailhost:port as the SMTP server\n"
" -s set the Subject: field\n"
" -? print this message.\n"
-"\n");
+"\n", MY_NAME);
exit(1);
}
#undef VERSION
#define VERSION "1.35.0"
#define VSTRING "1"
-#define BDATE "15 Apr 2004"
-#define LSMDATE "15Apr04"
+#define BDATE "16 Apr 2004"
+#define LSMDATE "16Apr04"
/* Debug flags */
#undef DEBUG