]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Tweak separator command in console to start disabled and
authorKern Sibbald <kern@sibbald.com>
Sun, 20 Jul 2008 12:31:45 +0000 (12:31 +0000)
committerKern Sibbald <kern@sibbald.com>
Sun, 20 Jul 2008 12:31:45 +0000 (12:31 +0000)
     allow defining no separator character.  Also make code a
     bit more fault tolerant.
kes  Make btraceback write the traceback to the working directory
     before attempting to mail it.
kes  Add a RFC to Projects.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@7404 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/projects
bacula/scripts/btraceback.in
bacula/src/console/console.c
bacula/technotes-2.5

index c007947ba051a3acc9f5fa9a96b99e42c237e436..e5b7e2c35e966a3368bc30f2b31c6c4bbba48146 100644 (file)
@@ -1296,6 +1296,34 @@ Item 1: Backup and Restore of Windows Encrypted Files through raw encryption fun
         necessary, in larger data sets (ie, tens or hundreds of gigabytes) it
         can easily produce multi-megabyte report emails!
 
+   Item n?: Expand the Verify Job capability to verify Jobs older than the 
+   last one. For VolumeToCatalog Jobs
+   Date: 17 Januar 2008
+   Origin: portrix.net Hamburg, Germany.
+   Contact: Christian Sabelmann
+   Status: 70% of the required Code is part of the Verify function since v. 2.x
+
+   What:
+   The ability to tell Bacula which Job should verify instead of 
+   automatically verify just the last one.
+
+   Why: 
+   It is sad that such a powerfull feature like Verify Jobs 
+   (VolumeToCatalog) is restricted to be used only with the last backup Job 
+   of a client. Actual users who have to do daily Backups are forced to 
+   also do daily Verify Jobs in order to take advantage of this useful 
+   feature.  This Daily Verify after Backup conduct is not always desired 
+   and Verify Jobs have to be sometimes scheduled. (Not necessarily 
+   scheduled in Bacula). With this feature Admins can verify Jobs once a 
+   Week or less per month, selecting the Jobs they want to verify.  This 
+   feature is also not to difficult to implement taking in account older 
+   bug reports about this feature and the selection of the Job to be verified.
+          
+   Notes: For the verify Job, the user could select the Job to be verified 
+   from a List of the latest Jobs of a client. It would also be possible to 
+   verify a certain volume.  All of these would naturaly apply only for 
+   Jobs whose file information are still in the catalog.
+
 ========== Already implemented ================================
 
 Item  n:  make changing "spooldata=yes|no" possible for
index db70e68ec4d02b49a05c1323965bcfa35119ddda..42ffa938098cd51f40376c35d036e57baa291f0e 100755 (executable)
 #
 PNAME=`basename $1`
 PNAME="${PNAME} on `hostname`"
+WD="@working_dir@"
 if test `uname -s` = SunOS ; then
-  gcore -o @working_dir@/${PNAME} $2
-  dbx $1 $2 <@scriptdir@/btraceback.dbx 2>&1 \
+  gcore -o ${WD}/${PNAME} $2
+  dbx $1 $2 <@scriptdir@/btraceback.dbx 2>&1 >${WD}/bacula.$$.traceback
+  cat ${WD}/bacula.$$.traceback \
    | @sbindir@/bsmtp -h @smtp_host@ -f @dump_email@ -s "Bacula DBX traceback of ${PNAME}" @dump_email@
 else
-  gdb -quiet -batch -x @scriptdir@/btraceback.gdb $1 $2 2>&1 \
+  gdb -quiet -batch -x @scriptdir@/btraceback.gdb $1 $2 2>&1 >${WD}/bacula.$$.traceback
+  cat ${WD}/bacula.$$.traceback \
    | @sbindir@/bsmtp -h @smtp_host@ -f @dump_email@ -s "Bacula GDB traceback of ${PNAME}" @dump_email@
 fi 
index c81252fe1f27f0d29378e378c5d0f8cd52b86988..0efadb8fe58d9c44bd4bcca98a1645f8ed78a262 100644 (file)
@@ -348,14 +348,17 @@ static int tls_pem_callback(char *buf, int size, const void *userdata)
 #include "readline.h"
 #include "history.h"
 
-static char eol = ';';
+static char eol = '\0';
 static int eolcmd(FILE *input, BSOCK *UA_sock)
 {
    if ((argc > 1) && (strchr("!$%&'()*+,-/:;<>?[]^`{|}~", argk[1][0]) != NULL)) {
       eol = argk[1][0];
       return 1;
+   } else if (argc == 1) {
+      eol = '\0';
    }
-   sendit(_("Missing or illegal separator character.\n"));
+
+   sendit(_("Illegal separator character.\n"));
    return 1;
 }
 
@@ -371,20 +374,31 @@ get_cmd(FILE *input, const char *prompt, BSOCK *sock, int sec)
       do_history = 0;
       rl_catch_signals = 0;              /* do it ourselves */
       line = readline((char *)prompt);   /* cast needed for old readlines */
-
       if (!line) {
          exit(1);
       }
       strip_trailing_junk(line);
       command = line;
-   } else {
-      *next = eol;
+   } else if (next) {
       command = next + 1;
+   } else {
+     sendit(_("Command logic problem\n"));
+     sock->msglen = 0;
+     sock->msg[0] = 0;
+     return 0;
    }
 
-   next = strchr(command, eol);
-   if (next != NULL) {
-      *next = '\0';
+   /*
+    * Split "line" into multiple commands separated by the eol character.
+    *   Each part is pointed to by "next" until finally it becomes null.
+    */
+   if (eol == '\0') {
+      next = NULL;
+   } else {
+      next = strchr(command, eol);
+      if (next) {
+         *next = '\0';
+      }
    }
    if (command != line && isatty(fileno(input))) {
       senditf("%s%s\n", prompt, command);
@@ -395,7 +409,7 @@ get_cmd(FILE *input, const char *prompt, BSOCK *sock, int sec)
       do_history++;
    }
 
-   if (next == NULL) {
+   if (!next) {
       if (do_history) {
         add_history(line);
       }
index 8dd27b83eea65d977f864ff68f7aa18c6b142f9e..5243827b5535191210a6ca8a5b26537ba7059605 100644 (file)
@@ -27,9 +27,18 @@ Spooling/despooling status
 Implement ftruncate for NFS devices
 Add long term statistics job table
 vtape driver
+Ignore Dir
+separator in console (!$%&'()*+,-/:;<>?[]^`{|}~)
 
 
 General:
+20Jul08
+kes  Tweak separator command in console to start disabled and
+     allow defining no separator character.  Also make code a
+     bit more fault tolerant.
+kes  Make btraceback write the traceback to the working directory
+     before attempting to mail it.
+kes  Add a RFC to Projects.
 18Jul08
 kes  Attempt to implement a kludge to make Qt work with bat
      on Win32.