stopmysql
console.log
console.sum
+zapall
+zaptapes
- Figure out how to use ssh or stunnel to protect Bacula communications.
For 1.31 release:
+- lstat() is not going to work on Win32 for testing date.
+- Implement a Recycle command
- Something is not right in last block of fill command.
- Check this below from Phil.
> When the job was done, Bacula reported 11084 files restored:
user had re-linked the file between the backup and the restore.
Do lstat() to see if it is already properly linked.
Same for symlinked file.
-- Remove the Jmsg() in sql_find.c:102 or only print on hard error.
+ Make sure ifnewer, ifolder, never, ... apply correctly.
- Implement List Volume Job=xxx or List scheduled volumes or
Status Director
- Instrument use_count on DEVICE packets and ensure that the device is
It doesnt show the last 20 jobs , but some older ones.
- Fix Verify VolumeToCatalog to use BSRs -- it is broken.
- Implement Release Storage=xxx
+- Fix restore on Win95/98
+- Remove the Jmsg() in sql_find.c:102 or only print on hard error.
bacula.desktop.gnome2
console
gconsole
+mtx-changer
/* Stream definitions. Once defined these must NEVER
* change as they go on the storage media.
*/
-#define STREAM_UNIX_ATTRIBUTES 1 /* Generic Unix attributes */
-#define STREAM_FILE_DATA 2 /* Standard uncompressed data */
-#define STREAM_MD5_SIGNATURE 3 /* MD5 signature for the file */
-#define STREAM_GZIP_DATA 4 /* GZip compressed file data */
-#define STREAM_WIN32_ATTRIBUTES 5 /* Windows attributes (superset of Unix) */
-#define STREAM_SPARSE_DATA 6 /* Sparse data stream */
-#define STREAM_SPARSE_GZIP_DATA 7
-#define STREAM_PROGRAM_NAMES 8 /* program names for program data */
-#define STREAM_PROGRAM_DATA 9 /* Data needing program */
-#define STREAM_SHA1_SIGNATURE 10 /* SHA1 signature for the file */
-#define STREAM_WIN32_DATA 11 /* Win32 BackupRead data */
-#define STREAM_WIN32_GZIP_DATA 12 /* Gzipped Win32 BackupRead data */
+#define STREAM_UNIX_ATTRIBUTES 1 /* Generic Unix attributes */
+#define STREAM_FILE_DATA 2 /* Standard uncompressed data */
+#define STREAM_MD5_SIGNATURE 3 /* MD5 signature for the file */
+#define STREAM_GZIP_DATA 4 /* GZip compressed file data */
+#define STREAM_UNIX_ATTRIBUTES_EX 5 /* Extended Unix attr. Win32Ex/FreeBSD */
+#define STREAM_SPARSE_DATA 6 /* Sparse data stream */
+#define STREAM_SPARSE_GZIP_DATA 7
+#define STREAM_PROGRAM_NAMES 8 /* program names for program data */
+#define STREAM_PROGRAM_DATA 9 /* Data needing program */
+#define STREAM_SHA1_SIGNATURE 10 /* SHA1 signature for the file */
+#define STREAM_WIN32_DATA 11 /* Win32 BackupRead data */
+#define STREAM_WIN32_GZIP_DATA 12 /* Gzipped Win32 BackupRead data */
/*
* Internal code for Signature types
/*
* Make sure we have an acceptable attributes record.
*/
- if (!(ar->Stream == STREAM_UNIX_ATTRIBUTES || ar->Stream == STREAM_WIN32_ATTRIBUTES)) {
+ if (!(ar->Stream == STREAM_UNIX_ATTRIBUTES ||
+ ar->Stream == STREAM_UNIX_ATTRIBUTES_EX)) {
Mmsg0(&mdb->errmsg, _("Attempt to put non-attributes into catalog\n"));
Jmsg(jcr, M_ERROR, 0, "%s", mdb->errmsg);
return 0;
/* Commands sent to File daemon */
static char backupcmd[] = "backup\n";
static char storaddr[] = "storage address=%s port=%d ssl=%d\n";
-static char levelcmd[] = "level = %s%s\n";
+static char levelcmd[] = "level = %s%s mtime_only=%d\n";
/* Responses received from File daemon */
static char OKbackup[] = "2000 OK backup\n";
*/
switch (jcr->JobLevel) {
case L_BASE:
- bnet_fsend(fd, levelcmd, "base", " ");
+ bnet_fsend(fd, levelcmd, "base", " ", 0);
break;
case L_FULL:
- bnet_fsend(fd, levelcmd, "full", " ");
+ bnet_fsend(fd, levelcmd, "full", " ", 0);
break;
case L_DIFFERENTIAL:
case L_INCREMENTAL:
- bnet_fsend(fd, levelcmd, "since ", jcr->stime);
+ bnet_fsend(fd, levelcmd, "since ", jcr->stime, 0);
free_pool_memory(jcr->stime);
jcr->stime = NULL;
break;
Dmsg5(99, "UpdCat VolSessId=%d VolSessT=%d FI=%d Strm=%d data_len=%d\n",
VolSessionId, VolSessionTime, FileIndex, Stream, data_len);
- if (Stream == STREAM_UNIX_ATTRIBUTES || Stream == STREAM_WIN32_ATTRIBUTES) {
+ if (Stream == STREAM_UNIX_ATTRIBUTES || Stream == STREAM_UNIX_ATTRIBUTES_EX) {
skip_nonspaces(&p); /* skip FileIndex */
skip_spaces(&p);
skip_nonspaces(&p); /* skip FileType */
catalog->db_password, catalog->db_address,
catalog->db_port, catalog->db_socket);
if (!db_open_database(NULL, db)) {
- Jmsg(NULL, M_FATAL, 0, _("Could not open database \"%s\".\n"),
- catalog->db_name);
+ Jmsg(NULL, M_FATAL, 0, _("Could not open %s database \"%s\".\n"),
+ catalog_db, catalog->db_name);
OK = FALSE;
} else {
/* If a pool is defined for this job, create the pool DB
*fn = *p++; /* term filename and point to attribs */
attr = p;
- if (stream == STREAM_UNIX_ATTRIBUTES || stream == STREAM_WIN32_ATTRIBUTES) {
+ if (stream == STREAM_UNIX_ATTRIBUTES || stream == STREAM_UNIX_ATTRIBUTES_EX) {
jcr->JobFiles++;
jcr->FileIndex = file_index;
ar.attr = attr;
/*
* Got attributes stream, decode it
*/
- if (stream == STREAM_UNIX_ATTRIBUTES || stream == STREAM_WIN32_ATTRIBUTES) {
+ if (stream == STREAM_UNIX_ATTRIBUTES || stream == STREAM_UNIX_ATTRIBUTES_EX) {
uint32_t LinkFIf, LinkFIc;
Dmsg2(400, "file_index=%d attr=%s\n", file_index, attr);
jcr->JobFiles++;
/*********FIXME********* add missing files and files to be retried */
int incremental; /* set if incremental for SINCE */
time_t mtime; /* begin time for SINCE */
+ int mtime_only; /* compare only mtime and not ctime as well */
int mode; /* manual/auto run */
int status; /* job status */
long Ticket; /* Ticket */