- Technical notes on version 2.1
-
-General:
Technical notes on version 2.0
General:
+
+Version 2.0.2 released: xx January 2007
+28Jan08
+kes Fix maxruntime bug #621.
+27Jan07
+kes Get current main CVS .specs for RedHat, SuSE, Mandrake.
+26Jan07
+ebl Implement the include JobID in spool file name project.
+kes Reorder projects file in order determined by Jan 2007 vote.
+kes Fix open of SQLite3 db where user does not have write permission
+ so that DIR does not crash. Fixes bug #761.
+25Jan07
+kes Change 'Device not configured to autolabel' from INFO
+ to WARNING.
+kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
+ which should restart an indefinite # of times.
+kes Fix configure --help to print --with-mysql[=DIR]. Same for
+ other DIR specifications.
+23Jan07
+rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
+ Fix path quoting in SQLite scripts.
+ Fix problems with SHGetFolderPath.
+19Jan07
+kes Create patches/2.0.1-restart.patch. Fixes bug #755.
+18Jan07
+kes Fix Job restart on error bug that promotes an Inc to a Full
+ backup. This should fix bug #755.
+
+Version 2.0.1
12Jan07
+kes Fix Bacula->Documentation link on Win32 to point to index.html
+ instead of bacula.html. Fixed bug #750.
kes Return JobId in db_get_job_record() when JobId==0. This should
fix bug #741.
kes Do not release source pointers when restarting a failed job.
despooling as requested by Alan Brown.
-
+=========== ChangeLog prior to 2.0.0 follow =================
Version 2.0.0 released: 4 January 2007
03Jan07
kes Apply Eric's fix for client name editing on RunScripts.
- Release Notes for Bacula 2.0.0
+ Release Notes for Bacula 2.0.2
Bacula code: Total files = 438 Total lines = 154,329 (*.h *.c *.in)
+This is a bug fix release to version 2.0.1:
+
+28Jan08
+kes Fix maxruntime bug #621.
+27Jan07
+kes Get current main CVS .specs for RedHat, SuSE, Mandrake.
+26Jan07
+ebl Implement the include JobID in spool file name project.
+kes Reorder projects file in order determined by Jan 2007 vote.
+kes Fix open of SQLite3 db where user does not have write permission
+ so that DIR does not crash. Fixes bug #761.
+25Jan07
+kes Change 'Device not configured to autolabel' from INFO
+ to WARNING.
+kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
+ which should restart an indefinite # of times.
+kes Fix configure --help to print --with-mysql[=DIR]. Same for
+ other DIR specifications.
+23Jan07
+rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
+ Fix path quoting in SQLite scripts.
+ Fix problems with SHGetFolderPath.
+19Jan07
+kes Create patches/2.0.1-restart.patch. Fixes bug #755.
+18Jan07
+kes Fix Job restart on error bug that promotes an Inc to a Full
+ backup. This should fix bug #755.
+kes Add qt-console and first cut of code.
+
+Version 2.0.1
+12Jan07
+kes Fix Bacula->Documentation link on Win32 to point to index.html
+ instead of bacula.html. Fixed bug #750.
+kes Return JobId in db_get_job_record() when JobId==0. This should
+ fix bug #741.
+kes Do not release source pointers when restarting a failed job.
+11Jan07
+kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
+ This *should* fix bug #747.
+kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
+ bug #742.
+09Jan07
+kes Modify USTORE constructor to set an empty store_source string,
+ and don't copy the store_source string in a cancel. Hopefully
+ this will fix Arno's seg fault, bug #744.
+kes Add back code to disable conio in configure. Fixes bug #743.
+kes Correct the Options scanner in the FD to correctly handle
+ SHA1 option, which was eating the next option. Reported by
+ Sebastien Guilbaud.
+kes Add code to indicate when the SD is spooling, spool wait, and
+ despooling as requested by Alan Brown.
+
+
+==== The following are the release notes for version 2.0.0 ======
+
==== IMPORTANT Catalog update required =====
- The database format has been updated from what was used in
Bacula 1.38.x. You must manually update your database before
Priority:
-- Figure out some way to "automatically" backup conf changes.
-- Look at using posix_fadvise(2) for backups -- see bug #751.
- Possibly add the code at findlib/bfile.c:795
-- Add the OS version back to the Win32 client info.
-- Restarted jobs have a NULL in the from field.
-- Modify SD status command to indicate when the SD is writing
- to a DVD (the device is not open -- see bug #732).
- Look at the possibility of adding "SET NAMES UTF8" for MySQL,
and possibly changing the blobs into varchar.
- Check if gnome-console works with TLS.
- Despool attributes in separate thread
- Database speedups
- Embedded MySQL
- - Check why restore repeatedly sends Rechdrs between
- each data chunk -- according to James Harper 9Jan07.
- - Building the in memory restore tree is slow.
- Features
- Better scheduling
- Full at least once a month, ...
.move transfer device=xxx fromslot=yyy toslot=zzz
Low priority:
-- Article: http://www.heise.de/open/news/meldung/83231
-- Article: http://www.golem.de/0701/49756.html
-- Article: http://lwn.net/Articles/209809/
-- Article: http://www.onlamp.com/pub/a/onlamp/2004/01/09/bacula.html
-- Article: http://www.linuxdevcenter.com/pub/a/linux/2005/04/07/bacula.html
-- Article: http://www.osreviews.net/reviews/admin/bacula
-- Article: http://www.debianhelp.co.uk/baculaweb.htm
-- Article:
- It appears to me that you have run into some sort of race
condition where two threads want to use the same Volume and they
were both given access. Normally that is no problem. However,
+{
+ size_t len;
+ char *digest;
-+ char ed1[50];
++ char edi1[50];
+
+ mdb->esc_name = check_pool_memory_size(mdb->esc_name, mdb->fnl*2+1);
+ db_escape_string(mdb->esc_name, mdb->fname, mdb->fnl);
+++ /dev/null
-diff -Naur org/bacula-2.0.0/src/stored/spool.c bacula-2.0.0/src/stored/spool.c
---- org/bacula-2.0.0/src/stored/spool.c 2006-11-27 11:03:03.000000000 +0100
-+++ bacula-2.0.0/src/stored/spool.c 2007-01-09 16:15:02.000000000 +0100
-@@ -154,8 +154,8 @@
- } else {
- dir = working_directory;
- }
-- Mmsg(name, "%s/%s.data.%s.%s.spool", dir, my_name, dcr->jcr->Job,
-- dcr->device->hdr.name);
-+ Mmsg(name, "%s/%s.data.%u.%s.%s.spool", dir, my_name, dcr->jcr->JobId,
-+ dcr->jcr->Job, dcr->device->hdr.name);
- }
-
-
+++ /dev/null
-From: Eric Bollengier <eric at eb dot homelinux dot org >
-
-This patch implements the include JobID in spool file name project
-
-$Log$
-Revision 1.2 2006/12/30 17:18:33 ricozz
-ebl Works with 1.39.35
-
-Revision 1.1 2006/12/30 09:30:03 ricozz
-ebl works against 1.39.34
-
- move Purged media to there RecyclePool
$Log$
+Revision 1.1.2.1 2007/01/12 10:23:14 kerns
+Pull in new spec files
+Update patches
+
Revision 1.2 2007/01/09 15:18:20 ricozz
ebl works with 2.0.0
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bacula-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2007-01-04 09:52+0100\n"
+"POT-Creation-Date: 2007-01-12 17:30+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgstr ""
#: src/cats/sql.c:235 src/cats/sql.c:242 src/cats/sql_create.c:792
-#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:592
-#: src/cats/sql_get.c:667 src/cats/sql_get.c:898
+#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:595
+#: src/cats/sql_get.c:670 src/cats/sql_get.c:901
#, c-format
msgid "error fetching row: %s\n"
msgstr ""
msgid "No Job found for JobId %s\n"
msgstr ""
-#: src/cats/sql_get.c:352 src/cats/sql_get.c:408
+#: src/cats/sql_get.c:355 src/cats/sql_get.c:411
#, c-format
msgid "No volumes found for JobId=%d\n"
msgstr ""
-#: src/cats/sql_get.c:358 src/cats/sql_get.c:421
+#: src/cats/sql_get.c:361 src/cats/sql_get.c:424
#, c-format
msgid "Error fetching row %d: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:372
+#: src/cats/sql_get.c:375
#, c-format
msgid "No Volume for JobId %d found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:508
+#: src/cats/sql_get.c:511
#, c-format
msgid "Pool id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:545
+#: src/cats/sql_get.c:548
#, c-format
msgid "Client id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:587
+#: src/cats/sql_get.c:590
#, c-format
msgid "More than one Pool!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:628
+#: src/cats/sql_get.c:631
msgid "Pool record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:662
+#: src/cats/sql_get.c:665
#, c-format
msgid "More than one Client!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:679 src/cats/sql_get.c:683
+#: src/cats/sql_get.c:682 src/cats/sql_get.c:686
msgid "Client record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:708
+#: src/cats/sql_get.c:711
#, c-format
msgid "More than one Counter!: %d\n"
msgstr ""
-#: src/cats/sql_get.c:713
+#: src/cats/sql_get.c:716
#, c-format
msgid "error fetching Counter row: %s\n"
msgstr ""
-#: src/cats/sql_get.c:733
+#: src/cats/sql_get.c:736
#, c-format
msgid "Counter record: %s not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:769
+#: src/cats/sql_get.c:772
#, c-format
msgid "Error got %s FileSets but expected only one!\n"
msgstr ""
-#: src/cats/sql_get.c:774
+#: src/cats/sql_get.c:777
#, c-format
msgid "FileSet record \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:784
+#: src/cats/sql_get.c:787
msgid "FileSet record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:841
+#: src/cats/sql_get.c:844
#, c-format
msgid "Media id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:893
+#: src/cats/sql_get.c:896
#, c-format
msgid "More than one Volume!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:946
+#: src/cats/sql_get.c:949
#, c-format
msgid "Media record MediaId=%s not found.\n"
msgstr ""
-#: src/cats/sql_get.c:949
+#: src/cats/sql_get.c:952
#, c-format
msgid "Media record for Volume \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:956
+#: src/cats/sql_get.c:959
#, c-format
msgid "Media record for MediaId=%u not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:959
+#: src/cats/sql_get.c:962
#, c-format
msgid "Media record for Vol=%s not found in Catalog.\n"
msgstr ""
"\n"
msgstr ""
-#: src/dird/backup.c:87 src/dird/job.c:937 src/dird/job.c:976
+#: src/dird/backup.c:87 src/dird/job.c:940 src/dird/job.c:986
#: src/dird/migrate.c:229 src/dird/migrate.c:230
msgid "Pool resource"
msgstr ""
msgid "Cannot open included file: %s. ERR=%s\n"
msgstr ""
-#: src/dird/fd_cmds.c:468 src/filed/job.c:1771
+#: src/dird/fd_cmds.c:468 src/filed/job.c:1772
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr ""
msgid "Could not open database \"%s\".\n"
msgstr ""
-#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:969
+#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:966 src/dird/job.c:978
#: src/dird/ua_cmds.c:690 src/dird/ua_cmds.c:1340 src/dird/ua_status.c:293
msgid "unknown source"
msgstr ""
msgid "Failed to connect to File daemon.\n"
msgstr ""
-#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:940 src/dird/job.c:974
-#: src/dird/job.c:983
+#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:943 src/dird/job.c:984
+#: src/dird/job.c:993
msgid "Job resource"
msgstr ""
-#: src/dird/job.c:411 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
+#: src/dird/job.c:409 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
#: src/dird/ua_label.c:753
msgid "Failed to connect to Storage daemon.\n"
msgstr ""
-#: src/dird/job.c:456
+#: src/dird/job.c:454
msgid "Max wait time exceeded. Job canceled.\n"
msgstr ""
-#: src/dird/job.c:461
+#: src/dird/job.c:459
msgid "Max run time exceeded. Job canceled.\n"
msgstr ""
-#: src/dird/job.c:555 src/dird/job.c:604
+#: src/dird/job.c:553 src/dird/job.c:602
#, c-format
msgid "Unhandled job status code %d\n"
msgstr ""
-#: src/dird/job.c:630 src/dird/ua_output.c:630
+#: src/dird/job.c:628 src/dird/ua_output.c:630
#, c-format
msgid "Pool %s not in database. %s"
msgstr ""
-#: src/dird/job.c:634 src/dird/ua_output.c:638
+#: src/dird/job.c:632 src/dird/ua_output.c:638
#, c-format
msgid "Pool %s created in database.\n"
msgstr ""
-#: src/dird/job.c:643 src/dird/job.c:927
+#: src/dird/job.c:641 src/dird/job.c:930
msgid "Run pool override"
msgstr ""
-#: src/dird/job.c:653
+#: src/dird/job.c:651
msgid "Run FullPool override"
msgstr ""
-#: src/dird/job.c:655
+#: src/dird/job.c:653
msgid "Job FullPool override"
msgstr ""
-#: src/dird/job.c:663
+#: src/dird/job.c:661
msgid "Run IncPool override"
msgstr ""
-#: src/dird/job.c:665
+#: src/dird/job.c:663
msgid "Job IncPool override"
msgstr ""
-#: src/dird/job.c:673
+#: src/dird/job.c:671
msgid "Run DiffPool override"
msgstr ""
-#: src/dird/job.c:675
+#: src/dird/job.c:673
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:700 src/stored/bscan.c:962
+#: src/dird/job.c:698 src/stored/bscan.c:962
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:736
+#: src/dird/job.c:734
msgid "FileSet MD5 digest not found.\n"
msgstr ""
-#: src/dird/job.c:741
+#: src/dird/job.c:739
#, c-format
msgid "Could not create FileSet \"%s\" record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:781
+#: src/dird/job.c:779
#, c-format
msgid "Error updating job record. %s"
msgstr ""
-#: src/dird/job.c:932
+#: src/dird/job.c:935
msgid "Run storage override"
msgstr ""
-#: src/dird/job.c:1045 src/dird/ua_run.c:389
+#: src/dird/job.c:1055 src/dird/ua_run.c:389
msgid "No storage specified.\n"
msgstr ""
-#: src/dird/job.c:1206
+#: src/dird/job.c:1216
msgid "Could not start clone job.\n"
msgstr ""
-#: src/dird/job.c:1208
+#: src/dird/job.c:1218
#, c-format
msgid "Clone JobId %d started.\n"
msgstr ""
msgid "Storage from Pool's NextPool resource"
msgstr ""
-#: src/dird/msgchan.c:99 src/filed/job.c:1247
+#: src/dird/msgchan.c:99 src/filed/job.c:1248
#: src/tray-monitor/tray-monitor.c:888
msgid "Storage daemon"
msgstr ""
msgid "Warning Job %s is not running. Continuing anyway ...\n"
msgstr ""
-#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:421
+#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:424
msgid "No Jobs running.\n"
msgstr ""
msgstr ""
#: src/dird/ua_restore.c:329 src/dird/ua_status.c:732 src/filed/status.c:254
-#: src/stored/status.c:495 src/wx-console/wxbconfigpanel.cpp:212
+#: src/stored/status.c:498 src/wx-console/wxbconfigpanel.cpp:212
msgid "Cancel"
msgstr ""
msgstr ""
#: src/dird/ua_run.c:782 src/filed/status.c:371 src/lib/util.c:329
-#: src/stored/status.c:534
+#: src/stored/status.c:537
msgid "Base"
msgstr ""
#: src/dird/ua_run.c:783 src/filed/status.c:373 src/lib/util.c:331
-#: src/stored/status.c:536
+#: src/stored/status.c:539
msgid "Full"
msgstr ""
#: src/dird/ua_run.c:784 src/filed/status.c:376 src/lib/util.c:334
-#: src/stored/status.c:539
+#: src/stored/status.c:542
msgid "Incremental"
msgstr ""
#: src/dird/ua_run.c:785 src/filed/status.c:379 src/lib/util.c:337
-#: src/stored/status.c:542
+#: src/stored/status.c:545
msgid "Differential"
msgstr ""
#: src/dird/ua_run.c:786 src/filed/status.c:382 src/lib/util.c:340
-#: src/stored/status.c:545
+#: src/stored/status.c:548
msgid "Since"
msgstr ""
msgstr ""
#: src/dird/ua_run.c:809 src/filed/status.c:385 src/lib/util.c:343
-#: src/stored/status.c:548
+#: src/stored/status.c:551
msgid "Verify Catalog"
msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:456
+#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:459
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:463
+#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:466
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
msgstr ""
#: src/dird/ua_status.c:722 src/filed/status.c:244 src/lib/util.c:179
-#: src/stored/status.c:485
+#: src/stored/status.c:488
msgid "Created"
msgstr ""
#: src/dird/ua_status.c:726 src/filed/status.c:248 src/lib/util.c:192
-#: src/lib/util.c:259 src/stored/status.c:489
+#: src/lib/util.c:259 src/stored/status.c:492
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:492
+#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:495
msgid "Diffs"
msgstr ""
#: src/dird/ua_status.c:735 src/filed/status.c:257 src/lib/util.c:188
-#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:498
+#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:501
#: src/wx-console/wxbconfigpanel.cpp:201
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:501
+#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:504
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:512
+#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:515
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
msgid "Cannot open FileSet input file: %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:731
+#: src/filed/job.c:733
#, c-format
msgid "REGEX %s compile error. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:793
+#: src/filed/job.c:795
#, c-format
msgid "Invalid FileSet command: %s\n"
msgstr ""
-#: src/filed/job.c:1008 src/findlib/match.c:199 src/tools/testfind.c:635
+#: src/filed/job.c:1009 src/findlib/match.c:199 src/tools/testfind.c:635
#, c-format
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/filed/job.c:1077 src/stored/fd_cmds.c:348
+#: src/filed/job.c:1078 src/stored/fd_cmds.c:348
#, c-format
msgid "Could not create bootstrap file %s: ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1179
+#: src/filed/job.c:1180
#, c-format
msgid "DIR and FD clocks differ by %d seconds, FD automatically adjusting.\n"
msgstr ""
-#: src/filed/job.c:1187
+#: src/filed/job.c:1188
#, c-format
msgid "Unknown backup level: %s\n"
msgstr ""
-#: src/filed/job.c:1199
+#: src/filed/job.c:1200
#, c-format
msgid "Bad level command: %s\n"
msgstr ""
-#: src/filed/job.c:1220
+#: src/filed/job.c:1221
#, c-format
msgid "Bad session command: %s"
msgstr ""
-#: src/filed/job.c:1241
+#: src/filed/job.c:1242
#, c-format
msgid "Bad storage command: %s"
msgstr ""
-#: src/filed/job.c:1250
+#: src/filed/job.c:1251
#, c-format
msgid "Failed to connect to Storage daemon: %s:%d\n"
msgstr ""
-#: src/filed/job.c:1262
+#: src/filed/job.c:1263
msgid "Failed to authenticate Storage daemon.\n"
msgstr ""
-#: src/filed/job.c:1300
+#: src/filed/job.c:1301
msgid "Cannot contact Storage daemon\n"
msgstr ""
-#: src/filed/job.c:1318
+#: src/filed/job.c:1319
#, c-format
msgid "Bad response to append open: %s\n"
msgstr ""
-#: src/filed/job.c:1323
+#: src/filed/job.c:1324
msgid "Bad response from stored to open command\n"
msgstr ""
-#: src/filed/job.c:1350
+#: src/filed/job.c:1351
#, c-format
msgid "Generate VSS snapshots. Driver=\"%s\", Drive(s)=\"%s\"\n"
msgstr ""
-#: src/filed/job.c:1352
+#: src/filed/job.c:1353
msgid "Generate VSS snapshots failed.\n"
msgstr ""
-#: src/filed/job.c:1359
+#: src/filed/job.c:1360
#, c-format
msgid ""
"Generate VSS snapshot of drive \"%c:\\\" failed. VSS support is disabled on "
"this drive.\n"
msgstr ""
-#: src/filed/job.c:1366
+#: src/filed/job.c:1367
#, c-format
msgid "VSS Writer (PrepareForBackup): %s\n"
msgstr ""
-#: src/filed/job.c:1371
+#: src/filed/job.c:1372
msgid "No drive letters found for generating VSS snapshots.\n"
msgstr ""
-#: src/filed/job.c:1375
+#: src/filed/job.c:1376
#, c-format
msgid "VSS was not initialized properly. VSS support is disabled. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1433
+#: src/filed/job.c:1434
msgid "Append Close with SD failed.\n"
msgstr ""
-#: src/filed/job.c:1437
+#: src/filed/job.c:1438
#, c-format
msgid "Bad status %d returned from Storage Daemon.\n"
msgstr ""
-#: src/filed/job.c:1455
+#: src/filed/job.c:1456
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
-#: src/filed/job.c:1483
+#: src/filed/job.c:1484
#, c-format
msgid "2994 Bad verify command: %s\n"
msgstr ""
-#: src/filed/job.c:1498 src/filed/job.c:1537
+#: src/filed/job.c:1499 src/filed/job.c:1538
#, c-format
msgid "2994 Bad verify level: %s\n"
msgstr ""
-#: src/filed/job.c:1579
+#: src/filed/job.c:1580
#, c-format
msgid "Bad replace command. CMD=%s\n"
msgstr ""
-#: src/filed/job.c:1658
+#: src/filed/job.c:1659
msgid "Improper calling sequence.\n"
msgstr ""
-#: src/filed/job.c:1678
+#: src/filed/job.c:1679
#, c-format
msgid "Bad response to SD read open: %s\n"
msgstr ""
-#: src/filed/job.c:1683
+#: src/filed/job.c:1684
msgid "Bad response from stored to read open command\n"
msgstr ""
-#: src/filed/job.c:1747
+#: src/filed/job.c:1748
#, c-format
msgid "Comm error with SD. bad response to %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1750
+#: src/filed/job.c:1751
#, c-format
msgid "Bad response to %s command. Wanted %s, got %s\n"
msgstr ""
msgid " %s%s Job started: %s\n"
msgstr ""
-#: src/filed/status.c:169 src/stored/status.c:398
+#: src/filed/status.c:169 src/stored/status.c:401
#, c-format
msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
msgstr ""
msgid " SDSocket closed.\n"
msgstr ""
-#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:610
-#: src/stored/status.c:633
+#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:613
+#: src/stored/status.c:636
#, c-format
msgid "Bad .status command: %s\n"
msgstr ""
msgid "2900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/filed/status.c:388 src/stored/status.c:551
+#: src/filed/status.c:388 src/stored/status.c:554
msgid "Init Catalog"
msgstr ""
-#: src/filed/status.c:391 src/stored/status.c:554
+#: src/filed/status.c:391 src/stored/status.c:557
msgid "Volume to Catalog"
msgstr ""
-#: src/filed/status.c:394 src/stored/status.c:557
+#: src/filed/status.c:394 src/stored/status.c:560
msgid "Disk to Catalog"
msgstr ""
-#: src/filed/status.c:397 src/stored/status.c:560
+#: src/filed/status.c:397 src/stored/status.c:563
msgid "Data"
msgstr ""
-#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:566
+#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:569
msgid "Unknown Job Level"
msgstr ""
" pool=\"%s\" device=\"%s\"\n"
msgstr ""
-#: src/stored/status.c:406
+#: src/stored/status.c:392
+#, c-format
+msgid " spooling=%d despooling=%d despool_wait=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:412
+#: src/stored/status.c:415
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:434
+#: src/stored/status.c:437
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:465
+#: src/stored/status.c:468
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:611
+#: src/stored/status.c:614
msgid "3900 Bad .status command, missing argument.\n"
msgstr ""
-#: src/stored/status.c:634
+#: src/stored/status.c:637
msgid "3900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/stored/status.c:648
+#: src/stored/status.c:651
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:659
+#: src/stored/status.c:662
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:673
+#: src/stored/status.c:676
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:677
+#: src/stored/status.c:680
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:681
+#: src/stored/status.c:684
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
msgstr ""
"Project-Id-Version: Bacula 1.38\n"
"Report-Msgid-Bugs-To: bacula-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2007-01-04 09:52+0100\n"
+"POT-Creation-Date: 2007-01-12 17:30+0100\n"
"PO-Revision-Date: 2005-08-11 14:05+0200\n"
"Last-Translator: <bacula-devel@lists.sourceforge.net\n"
"Language-Team: German <bacula-devel@lists.sourceforge.net>\n"
msgstr ""
#: src/cats/sql.c:235 src/cats/sql.c:242 src/cats/sql_create.c:792
-#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:592
-#: src/cats/sql_get.c:667 src/cats/sql_get.c:898
+#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:595
+#: src/cats/sql_get.c:670 src/cats/sql_get.c:901
#, c-format
msgid "error fetching row: %s\n"
msgstr ""
msgid "No Job found for JobId %s\n"
msgstr ""
-#: src/cats/sql_get.c:352 src/cats/sql_get.c:408
+#: src/cats/sql_get.c:355 src/cats/sql_get.c:411
#, c-format
msgid "No volumes found for JobId=%d\n"
msgstr ""
-#: src/cats/sql_get.c:358 src/cats/sql_get.c:421
+#: src/cats/sql_get.c:361 src/cats/sql_get.c:424
#, c-format
msgid "Error fetching row %d: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:372
+#: src/cats/sql_get.c:375
#, c-format
msgid "No Volume for JobId %d found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:508
+#: src/cats/sql_get.c:511
#, c-format
msgid "Pool id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:545
+#: src/cats/sql_get.c:548
#, c-format
msgid "Client id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:587
+#: src/cats/sql_get.c:590
#, c-format
msgid "More than one Pool!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:628
+#: src/cats/sql_get.c:631
msgid "Pool record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:662
+#: src/cats/sql_get.c:665
#, c-format
msgid "More than one Client!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:679 src/cats/sql_get.c:683
+#: src/cats/sql_get.c:682 src/cats/sql_get.c:686
msgid "Client record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:708
+#: src/cats/sql_get.c:711
#, c-format
msgid "More than one Counter!: %d\n"
msgstr ""
-#: src/cats/sql_get.c:713
+#: src/cats/sql_get.c:716
#, c-format
msgid "error fetching Counter row: %s\n"
msgstr ""
-#: src/cats/sql_get.c:733
+#: src/cats/sql_get.c:736
#, c-format
msgid "Counter record: %s not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:769
+#: src/cats/sql_get.c:772
#, c-format
msgid "Error got %s FileSets but expected only one!\n"
msgstr ""
-#: src/cats/sql_get.c:774
+#: src/cats/sql_get.c:777
#, c-format
msgid "FileSet record \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:784
+#: src/cats/sql_get.c:787
msgid "FileSet record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:841
+#: src/cats/sql_get.c:844
#, c-format
msgid "Media id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:893
+#: src/cats/sql_get.c:896
#, c-format
msgid "More than one Volume!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:946
+#: src/cats/sql_get.c:949
#, c-format
msgid "Media record MediaId=%s not found.\n"
msgstr ""
-#: src/cats/sql_get.c:949
+#: src/cats/sql_get.c:952
#, c-format
msgid "Media record for Volume \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:956
+#: src/cats/sql_get.c:959
#, c-format
msgid "Media record for MediaId=%u not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:959
+#: src/cats/sql_get.c:962
#, c-format
msgid "Media record for Vol=%s not found in Catalog.\n"
msgstr ""
"\n"
msgstr ""
-#: src/dird/backup.c:87 src/dird/job.c:937 src/dird/job.c:976
+#: src/dird/backup.c:87 src/dird/job.c:940 src/dird/job.c:986
#: src/dird/migrate.c:229 src/dird/migrate.c:230
msgid "Pool resource"
msgstr ""
msgid "Cannot open included file: %s. ERR=%s\n"
msgstr ""
-#: src/dird/fd_cmds.c:468 src/filed/job.c:1771
+#: src/dird/fd_cmds.c:468 src/filed/job.c:1772
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr ""
msgid "Could not open database \"%s\".\n"
msgstr ""
-#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:969
+#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:966 src/dird/job.c:978
#: src/dird/ua_cmds.c:690 src/dird/ua_cmds.c:1340 src/dird/ua_status.c:293
msgid "unknown source"
msgstr ""
msgid "Failed to connect to File daemon.\n"
msgstr ""
-#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:940 src/dird/job.c:974
-#: src/dird/job.c:983
+#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:943 src/dird/job.c:984
+#: src/dird/job.c:993
msgid "Job resource"
msgstr ""
-#: src/dird/job.c:411 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
+#: src/dird/job.c:409 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
#: src/dird/ua_label.c:753
msgid "Failed to connect to Storage daemon.\n"
msgstr ""
-#: src/dird/job.c:456
+#: src/dird/job.c:454
msgid "Max wait time exceeded. Job canceled.\n"
msgstr ""
-#: src/dird/job.c:461
+#: src/dird/job.c:459
msgid "Max run time exceeded. Job canceled.\n"
msgstr ""
-#: src/dird/job.c:555 src/dird/job.c:604
+#: src/dird/job.c:553 src/dird/job.c:602
#, c-format
msgid "Unhandled job status code %d\n"
msgstr ""
-#: src/dird/job.c:630 src/dird/ua_output.c:630
+#: src/dird/job.c:628 src/dird/ua_output.c:630
#, c-format
msgid "Pool %s not in database. %s"
msgstr ""
-#: src/dird/job.c:634 src/dird/ua_output.c:638
+#: src/dird/job.c:632 src/dird/ua_output.c:638
#, c-format
msgid "Pool %s created in database.\n"
msgstr ""
-#: src/dird/job.c:643 src/dird/job.c:927
+#: src/dird/job.c:641 src/dird/job.c:930
msgid "Run pool override"
msgstr ""
-#: src/dird/job.c:653
+#: src/dird/job.c:651
msgid "Run FullPool override"
msgstr ""
-#: src/dird/job.c:655
+#: src/dird/job.c:653
msgid "Job FullPool override"
msgstr ""
-#: src/dird/job.c:663
+#: src/dird/job.c:661
msgid "Run IncPool override"
msgstr ""
-#: src/dird/job.c:665
+#: src/dird/job.c:663
msgid "Job IncPool override"
msgstr ""
-#: src/dird/job.c:673
+#: src/dird/job.c:671
msgid "Run DiffPool override"
msgstr ""
-#: src/dird/job.c:675
+#: src/dird/job.c:673
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:700 src/stored/bscan.c:962
+#: src/dird/job.c:698 src/stored/bscan.c:962
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:736
+#: src/dird/job.c:734
msgid "FileSet MD5 digest not found.\n"
msgstr ""
-#: src/dird/job.c:741
+#: src/dird/job.c:739
#, c-format
msgid "Could not create FileSet \"%s\" record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:781
+#: src/dird/job.c:779
#, c-format
msgid "Error updating job record. %s"
msgstr ""
-#: src/dird/job.c:932
+#: src/dird/job.c:935
msgid "Run storage override"
msgstr ""
-#: src/dird/job.c:1045 src/dird/ua_run.c:389
+#: src/dird/job.c:1055 src/dird/ua_run.c:389
msgid "No storage specified.\n"
msgstr ""
-#: src/dird/job.c:1206
+#: src/dird/job.c:1216
msgid "Could not start clone job.\n"
msgstr ""
-#: src/dird/job.c:1208
+#: src/dird/job.c:1218
#, c-format
msgid "Clone JobId %d started.\n"
msgstr ""
msgid "Storage from Pool's NextPool resource"
msgstr ""
-#: src/dird/msgchan.c:99 src/filed/job.c:1247
+#: src/dird/msgchan.c:99 src/filed/job.c:1248
#: src/tray-monitor/tray-monitor.c:888
msgid "Storage daemon"
msgstr ""
msgid "Warning Job %s is not running. Continuing anyway ...\n"
msgstr ""
-#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:421
+#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:424
msgid "No Jobs running.\n"
msgstr ""
msgstr ""
#: src/dird/ua_restore.c:329 src/dird/ua_status.c:732 src/filed/status.c:254
-#: src/stored/status.c:495 src/wx-console/wxbconfigpanel.cpp:212
+#: src/stored/status.c:498 src/wx-console/wxbconfigpanel.cpp:212
msgid "Cancel"
msgstr ""
msgstr ""
#: src/dird/ua_run.c:782 src/filed/status.c:371 src/lib/util.c:329
-#: src/stored/status.c:534
+#: src/stored/status.c:537
msgid "Base"
msgstr ""
#: src/dird/ua_run.c:783 src/filed/status.c:373 src/lib/util.c:331
-#: src/stored/status.c:536
+#: src/stored/status.c:539
msgid "Full"
msgstr ""
#: src/dird/ua_run.c:784 src/filed/status.c:376 src/lib/util.c:334
-#: src/stored/status.c:539
+#: src/stored/status.c:542
msgid "Incremental"
msgstr ""
#: src/dird/ua_run.c:785 src/filed/status.c:379 src/lib/util.c:337
-#: src/stored/status.c:542
+#: src/stored/status.c:545
msgid "Differential"
msgstr ""
#: src/dird/ua_run.c:786 src/filed/status.c:382 src/lib/util.c:340
-#: src/stored/status.c:545
+#: src/stored/status.c:548
msgid "Since"
msgstr ""
msgstr ""
#: src/dird/ua_run.c:809 src/filed/status.c:385 src/lib/util.c:343
-#: src/stored/status.c:548
+#: src/stored/status.c:551
msgid "Verify Catalog"
msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:456
+#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:459
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:463
+#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:466
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
msgstr ""
#: src/dird/ua_status.c:722 src/filed/status.c:244 src/lib/util.c:179
-#: src/stored/status.c:485
+#: src/stored/status.c:488
msgid "Created"
msgstr ""
#: src/dird/ua_status.c:726 src/filed/status.c:248 src/lib/util.c:192
-#: src/lib/util.c:259 src/stored/status.c:489
+#: src/lib/util.c:259 src/stored/status.c:492
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:492
+#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:495
msgid "Diffs"
msgstr ""
#: src/dird/ua_status.c:735 src/filed/status.c:257 src/lib/util.c:188
-#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:498
+#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:501
#: src/wx-console/wxbconfigpanel.cpp:201
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:501
+#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:504
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:512
+#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:515
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
msgid "Cannot open FileSet input file: %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:731
+#: src/filed/job.c:733
#, c-format
msgid "REGEX %s compile error. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:793
+#: src/filed/job.c:795
#, c-format
msgid "Invalid FileSet command: %s\n"
msgstr ""
-#: src/filed/job.c:1008 src/findlib/match.c:199 src/tools/testfind.c:635
+#: src/filed/job.c:1009 src/findlib/match.c:199 src/tools/testfind.c:635
#, c-format
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/filed/job.c:1077 src/stored/fd_cmds.c:348
+#: src/filed/job.c:1078 src/stored/fd_cmds.c:348
#, c-format
msgid "Could not create bootstrap file %s: ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1179
+#: src/filed/job.c:1180
#, c-format
msgid "DIR and FD clocks differ by %d seconds, FD automatically adjusting.\n"
msgstr ""
-#: src/filed/job.c:1187
+#: src/filed/job.c:1188
#, c-format
msgid "Unknown backup level: %s\n"
msgstr ""
-#: src/filed/job.c:1199
+#: src/filed/job.c:1200
#, c-format
msgid "Bad level command: %s\n"
msgstr ""
-#: src/filed/job.c:1220
+#: src/filed/job.c:1221
#, c-format
msgid "Bad session command: %s"
msgstr ""
-#: src/filed/job.c:1241
+#: src/filed/job.c:1242
#, c-format
msgid "Bad storage command: %s"
msgstr ""
-#: src/filed/job.c:1250
+#: src/filed/job.c:1251
#, c-format
msgid "Failed to connect to Storage daemon: %s:%d\n"
msgstr ""
-#: src/filed/job.c:1262
+#: src/filed/job.c:1263
msgid "Failed to authenticate Storage daemon.\n"
msgstr ""
-#: src/filed/job.c:1300
+#: src/filed/job.c:1301
msgid "Cannot contact Storage daemon\n"
msgstr ""
-#: src/filed/job.c:1318
+#: src/filed/job.c:1319
#, c-format
msgid "Bad response to append open: %s\n"
msgstr ""
-#: src/filed/job.c:1323
+#: src/filed/job.c:1324
msgid "Bad response from stored to open command\n"
msgstr ""
-#: src/filed/job.c:1350
+#: src/filed/job.c:1351
#, c-format
msgid "Generate VSS snapshots. Driver=\"%s\", Drive(s)=\"%s\"\n"
msgstr ""
-#: src/filed/job.c:1352
+#: src/filed/job.c:1353
msgid "Generate VSS snapshots failed.\n"
msgstr ""
-#: src/filed/job.c:1359
+#: src/filed/job.c:1360
#, c-format
msgid ""
"Generate VSS snapshot of drive \"%c:\\\" failed. VSS support is disabled on "
"this drive.\n"
msgstr ""
-#: src/filed/job.c:1366
+#: src/filed/job.c:1367
#, c-format
msgid "VSS Writer (PrepareForBackup): %s\n"
msgstr ""
-#: src/filed/job.c:1371
+#: src/filed/job.c:1372
msgid "No drive letters found for generating VSS snapshots.\n"
msgstr ""
-#: src/filed/job.c:1375
+#: src/filed/job.c:1376
#, c-format
msgid "VSS was not initialized properly. VSS support is disabled. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1433
+#: src/filed/job.c:1434
msgid "Append Close with SD failed.\n"
msgstr ""
-#: src/filed/job.c:1437
+#: src/filed/job.c:1438
#, c-format
msgid "Bad status %d returned from Storage Daemon.\n"
msgstr ""
-#: src/filed/job.c:1455
+#: src/filed/job.c:1456
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
-#: src/filed/job.c:1483
+#: src/filed/job.c:1484
#, c-format
msgid "2994 Bad verify command: %s\n"
msgstr ""
-#: src/filed/job.c:1498 src/filed/job.c:1537
+#: src/filed/job.c:1499 src/filed/job.c:1538
#, c-format
msgid "2994 Bad verify level: %s\n"
msgstr ""
-#: src/filed/job.c:1579
+#: src/filed/job.c:1580
#, c-format
msgid "Bad replace command. CMD=%s\n"
msgstr ""
-#: src/filed/job.c:1658
+#: src/filed/job.c:1659
msgid "Improper calling sequence.\n"
msgstr ""
-#: src/filed/job.c:1678
+#: src/filed/job.c:1679
#, c-format
msgid "Bad response to SD read open: %s\n"
msgstr ""
-#: src/filed/job.c:1683
+#: src/filed/job.c:1684
msgid "Bad response from stored to read open command\n"
msgstr ""
-#: src/filed/job.c:1747
+#: src/filed/job.c:1748
#, c-format
msgid "Comm error with SD. bad response to %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1750
+#: src/filed/job.c:1751
#, c-format
msgid "Bad response to %s command. Wanted %s, got %s\n"
msgstr ""
msgid " %s%s Job started: %s\n"
msgstr ""
-#: src/filed/status.c:169 src/stored/status.c:398
+#: src/filed/status.c:169 src/stored/status.c:401
#, c-format
msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
msgstr ""
msgid " SDSocket closed.\n"
msgstr ""
-#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:610
-#: src/stored/status.c:633
+#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:613
+#: src/stored/status.c:636
#, c-format
msgid "Bad .status command: %s\n"
msgstr ""
msgid "2900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/filed/status.c:388 src/stored/status.c:551
+#: src/filed/status.c:388 src/stored/status.c:554
msgid "Init Catalog"
msgstr ""
-#: src/filed/status.c:391 src/stored/status.c:554
+#: src/filed/status.c:391 src/stored/status.c:557
msgid "Volume to Catalog"
msgstr ""
-#: src/filed/status.c:394 src/stored/status.c:557
+#: src/filed/status.c:394 src/stored/status.c:560
msgid "Disk to Catalog"
msgstr ""
-#: src/filed/status.c:397 src/stored/status.c:560
+#: src/filed/status.c:397 src/stored/status.c:563
msgid "Data"
msgstr ""
-#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:566
+#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:569
msgid "Unknown Job Level"
msgstr ""
" pool=\"%s\" device=\"%s\"\n"
msgstr ""
-#: src/stored/status.c:406
+#: src/stored/status.c:392
+#, c-format
+msgid " spooling=%d despooling=%d despool_wait=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:412
+#: src/stored/status.c:415
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:434
+#: src/stored/status.c:437
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:465
+#: src/stored/status.c:468
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:611
+#: src/stored/status.c:614
msgid "3900 Bad .status command, missing argument.\n"
msgstr ""
-#: src/stored/status.c:634
+#: src/stored/status.c:637
msgid "3900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/stored/status.c:648
+#: src/stored/status.c:651
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:659
+#: src/stored/status.c:662
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:673
+#: src/stored/status.c:676
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:677
+#: src/stored/status.c:680
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:681
+#: src/stored/status.c:684
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
msgstr ""
"Project-Id-Version: branch 1.38\n"
"Report-Msgid-Bugs-To: bacula-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2007-01-04 09:52+0100\n"
+"POT-Creation-Date: 2007-01-12 17:30+0100\n"
"PO-Revision-Date: 2006-04-13 08:14+0200\n"
"Last-Translator: <kern@sibbald.com>\n"
"Language-Team: Spanish\n"
msgstr ""
#: src/cats/sql.c:235 src/cats/sql.c:242 src/cats/sql_create.c:792
-#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:592
-#: src/cats/sql_get.c:667 src/cats/sql_get.c:898
+#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:595
+#: src/cats/sql_get.c:670 src/cats/sql_get.c:901
#, c-format
msgid "error fetching row: %s\n"
msgstr ""
msgid "No Job found for JobId %s\n"
msgstr ""
-#: src/cats/sql_get.c:352 src/cats/sql_get.c:408
+#: src/cats/sql_get.c:355 src/cats/sql_get.c:411
#, c-format
msgid "No volumes found for JobId=%d\n"
msgstr ""
-#: src/cats/sql_get.c:358 src/cats/sql_get.c:421
+#: src/cats/sql_get.c:361 src/cats/sql_get.c:424
#, c-format
msgid "Error fetching row %d: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:372
+#: src/cats/sql_get.c:375
#, c-format
msgid "No Volume for JobId %d found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:508
+#: src/cats/sql_get.c:511
#, c-format
msgid "Pool id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:545
+#: src/cats/sql_get.c:548
#, c-format
msgid "Client id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:587
+#: src/cats/sql_get.c:590
#, c-format
msgid "More than one Pool!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:628
+#: src/cats/sql_get.c:631
msgid "Pool record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:662
+#: src/cats/sql_get.c:665
#, c-format
msgid "More than one Client!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:679 src/cats/sql_get.c:683
+#: src/cats/sql_get.c:682 src/cats/sql_get.c:686
msgid "Client record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:708
+#: src/cats/sql_get.c:711
#, c-format
msgid "More than one Counter!: %d\n"
msgstr ""
-#: src/cats/sql_get.c:713
+#: src/cats/sql_get.c:716
#, c-format
msgid "error fetching Counter row: %s\n"
msgstr ""
-#: src/cats/sql_get.c:733
+#: src/cats/sql_get.c:736
#, c-format
msgid "Counter record: %s not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:769
+#: src/cats/sql_get.c:772
#, c-format
msgid "Error got %s FileSets but expected only one!\n"
msgstr ""
-#: src/cats/sql_get.c:774
+#: src/cats/sql_get.c:777
#, c-format
msgid "FileSet record \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:784
+#: src/cats/sql_get.c:787
msgid "FileSet record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:841
+#: src/cats/sql_get.c:844
#, c-format
msgid "Media id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:893
+#: src/cats/sql_get.c:896
#, c-format
msgid "More than one Volume!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:946
+#: src/cats/sql_get.c:949
#, c-format
msgid "Media record MediaId=%s not found.\n"
msgstr ""
-#: src/cats/sql_get.c:949
+#: src/cats/sql_get.c:952
#, c-format
msgid "Media record for Volume \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:956
+#: src/cats/sql_get.c:959
#, c-format
msgid "Media record for MediaId=%u not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:959
+#: src/cats/sql_get.c:962
#, c-format
msgid "Media record for Vol=%s not found in Catalog.\n"
msgstr ""
"\n"
msgstr ""
-#: src/dird/backup.c:87 src/dird/job.c:937 src/dird/job.c:976
+#: src/dird/backup.c:87 src/dird/job.c:940 src/dird/job.c:986
#: src/dird/migrate.c:229 src/dird/migrate.c:230
msgid "Pool resource"
msgstr ""
msgid "Cannot open included file: %s. ERR=%s\n"
msgstr ""
-#: src/dird/fd_cmds.c:468 src/filed/job.c:1771
+#: src/dird/fd_cmds.c:468 src/filed/job.c:1772
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr ""
msgid "Could not open database \"%s\".\n"
msgstr ""
-#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:969
+#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:966 src/dird/job.c:978
#: src/dird/ua_cmds.c:690 src/dird/ua_cmds.c:1340 src/dird/ua_status.c:293
msgid "unknown source"
msgstr ""
msgid "Failed to connect to File daemon.\n"
msgstr ""
-#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:940 src/dird/job.c:974
-#: src/dird/job.c:983
+#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:943 src/dird/job.c:984
+#: src/dird/job.c:993
msgid "Job resource"
msgstr ""
-#: src/dird/job.c:411 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
+#: src/dird/job.c:409 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
#: src/dird/ua_label.c:753
msgid "Failed to connect to Storage daemon.\n"
msgstr ""
-#: src/dird/job.c:456
+#: src/dird/job.c:454
msgid "Max wait time exceeded. Job canceled.\n"
msgstr ""
-#: src/dird/job.c:461
+#: src/dird/job.c:459
msgid "Max run time exceeded. Job canceled.\n"
msgstr ""
-#: src/dird/job.c:555 src/dird/job.c:604
+#: src/dird/job.c:553 src/dird/job.c:602
#, c-format
msgid "Unhandled job status code %d\n"
msgstr ""
-#: src/dird/job.c:630 src/dird/ua_output.c:630
+#: src/dird/job.c:628 src/dird/ua_output.c:630
#, c-format
msgid "Pool %s not in database. %s"
msgstr ""
-#: src/dird/job.c:634 src/dird/ua_output.c:638
+#: src/dird/job.c:632 src/dird/ua_output.c:638
#, c-format
msgid "Pool %s created in database.\n"
msgstr ""
-#: src/dird/job.c:643 src/dird/job.c:927
+#: src/dird/job.c:641 src/dird/job.c:930
msgid "Run pool override"
msgstr ""
-#: src/dird/job.c:653
+#: src/dird/job.c:651
msgid "Run FullPool override"
msgstr ""
-#: src/dird/job.c:655
+#: src/dird/job.c:653
msgid "Job FullPool override"
msgstr ""
-#: src/dird/job.c:663
+#: src/dird/job.c:661
msgid "Run IncPool override"
msgstr ""
-#: src/dird/job.c:665
+#: src/dird/job.c:663
msgid "Job IncPool override"
msgstr ""
-#: src/dird/job.c:673
+#: src/dird/job.c:671
msgid "Run DiffPool override"
msgstr ""
-#: src/dird/job.c:675
+#: src/dird/job.c:673
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:700 src/stored/bscan.c:962
+#: src/dird/job.c:698 src/stored/bscan.c:962
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:736
+#: src/dird/job.c:734
msgid "FileSet MD5 digest not found.\n"
msgstr ""
-#: src/dird/job.c:741
+#: src/dird/job.c:739
#, c-format
msgid "Could not create FileSet \"%s\" record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:781
+#: src/dird/job.c:779
#, c-format
msgid "Error updating job record. %s"
msgstr ""
-#: src/dird/job.c:932
+#: src/dird/job.c:935
msgid "Run storage override"
msgstr ""
-#: src/dird/job.c:1045 src/dird/ua_run.c:389
+#: src/dird/job.c:1055 src/dird/ua_run.c:389
msgid "No storage specified.\n"
msgstr ""
-#: src/dird/job.c:1206
+#: src/dird/job.c:1216
msgid "Could not start clone job.\n"
msgstr ""
-#: src/dird/job.c:1208
+#: src/dird/job.c:1218
#, c-format
msgid "Clone JobId %d started.\n"
msgstr ""
msgid "Storage from Pool's NextPool resource"
msgstr ""
-#: src/dird/msgchan.c:99 src/filed/job.c:1247
+#: src/dird/msgchan.c:99 src/filed/job.c:1248
#: src/tray-monitor/tray-monitor.c:888
msgid "Storage daemon"
msgstr ""
msgid "Warning Job %s is not running. Continuing anyway ...\n"
msgstr ""
-#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:421
+#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:424
msgid "No Jobs running.\n"
msgstr ""
msgstr ""
#: src/dird/ua_restore.c:329 src/dird/ua_status.c:732 src/filed/status.c:254
-#: src/stored/status.c:495 src/wx-console/wxbconfigpanel.cpp:212
+#: src/stored/status.c:498 src/wx-console/wxbconfigpanel.cpp:212
msgid "Cancel"
msgstr ""
msgstr ""
#: src/dird/ua_run.c:782 src/filed/status.c:371 src/lib/util.c:329
-#: src/stored/status.c:534
+#: src/stored/status.c:537
msgid "Base"
msgstr ""
#: src/dird/ua_run.c:783 src/filed/status.c:373 src/lib/util.c:331
-#: src/stored/status.c:536
+#: src/stored/status.c:539
msgid "Full"
msgstr ""
#: src/dird/ua_run.c:784 src/filed/status.c:376 src/lib/util.c:334
-#: src/stored/status.c:539
+#: src/stored/status.c:542
msgid "Incremental"
msgstr ""
#: src/dird/ua_run.c:785 src/filed/status.c:379 src/lib/util.c:337
-#: src/stored/status.c:542
+#: src/stored/status.c:545
msgid "Differential"
msgstr ""
#: src/dird/ua_run.c:786 src/filed/status.c:382 src/lib/util.c:340
-#: src/stored/status.c:545
+#: src/stored/status.c:548
msgid "Since"
msgstr ""
msgstr ""
#: src/dird/ua_run.c:809 src/filed/status.c:385 src/lib/util.c:343
-#: src/stored/status.c:548
+#: src/stored/status.c:551
msgid "Verify Catalog"
msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:456
+#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:459
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:463
+#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:466
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
msgstr ""
#: src/dird/ua_status.c:722 src/filed/status.c:244 src/lib/util.c:179
-#: src/stored/status.c:485
+#: src/stored/status.c:488
msgid "Created"
msgstr ""
#: src/dird/ua_status.c:726 src/filed/status.c:248 src/lib/util.c:192
-#: src/lib/util.c:259 src/stored/status.c:489
+#: src/lib/util.c:259 src/stored/status.c:492
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:492
+#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:495
msgid "Diffs"
msgstr ""
#: src/dird/ua_status.c:735 src/filed/status.c:257 src/lib/util.c:188
-#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:498
+#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:501
#: src/wx-console/wxbconfigpanel.cpp:201
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:501
+#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:504
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:512
+#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:515
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
msgid "Cannot open FileSet input file: %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:731
+#: src/filed/job.c:733
#, c-format
msgid "REGEX %s compile error. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:793
+#: src/filed/job.c:795
#, c-format
msgid "Invalid FileSet command: %s\n"
msgstr ""
-#: src/filed/job.c:1008 src/findlib/match.c:199 src/tools/testfind.c:635
+#: src/filed/job.c:1009 src/findlib/match.c:199 src/tools/testfind.c:635
#, c-format
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/filed/job.c:1077 src/stored/fd_cmds.c:348
+#: src/filed/job.c:1078 src/stored/fd_cmds.c:348
#, c-format
msgid "Could not create bootstrap file %s: ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1179
+#: src/filed/job.c:1180
#, c-format
msgid "DIR and FD clocks differ by %d seconds, FD automatically adjusting.\n"
msgstr ""
-#: src/filed/job.c:1187
+#: src/filed/job.c:1188
#, c-format
msgid "Unknown backup level: %s\n"
msgstr ""
-#: src/filed/job.c:1199
+#: src/filed/job.c:1200
#, c-format
msgid "Bad level command: %s\n"
msgstr ""
-#: src/filed/job.c:1220
+#: src/filed/job.c:1221
#, c-format
msgid "Bad session command: %s"
msgstr ""
-#: src/filed/job.c:1241
+#: src/filed/job.c:1242
#, c-format
msgid "Bad storage command: %s"
msgstr ""
-#: src/filed/job.c:1250
+#: src/filed/job.c:1251
#, c-format
msgid "Failed to connect to Storage daemon: %s:%d\n"
msgstr ""
-#: src/filed/job.c:1262
+#: src/filed/job.c:1263
msgid "Failed to authenticate Storage daemon.\n"
msgstr ""
-#: src/filed/job.c:1300
+#: src/filed/job.c:1301
msgid "Cannot contact Storage daemon\n"
msgstr ""
-#: src/filed/job.c:1318
+#: src/filed/job.c:1319
#, c-format
msgid "Bad response to append open: %s\n"
msgstr ""
-#: src/filed/job.c:1323
+#: src/filed/job.c:1324
msgid "Bad response from stored to open command\n"
msgstr ""
-#: src/filed/job.c:1350
+#: src/filed/job.c:1351
#, c-format
msgid "Generate VSS snapshots. Driver=\"%s\", Drive(s)=\"%s\"\n"
msgstr ""
-#: src/filed/job.c:1352
+#: src/filed/job.c:1353
msgid "Generate VSS snapshots failed.\n"
msgstr ""
-#: src/filed/job.c:1359
+#: src/filed/job.c:1360
#, c-format
msgid ""
"Generate VSS snapshot of drive \"%c:\\\" failed. VSS support is disabled on "
"this drive.\n"
msgstr ""
-#: src/filed/job.c:1366
+#: src/filed/job.c:1367
#, c-format
msgid "VSS Writer (PrepareForBackup): %s\n"
msgstr ""
-#: src/filed/job.c:1371
+#: src/filed/job.c:1372
msgid "No drive letters found for generating VSS snapshots.\n"
msgstr ""
-#: src/filed/job.c:1375
+#: src/filed/job.c:1376
#, c-format
msgid "VSS was not initialized properly. VSS support is disabled. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1433
+#: src/filed/job.c:1434
msgid "Append Close with SD failed.\n"
msgstr ""
-#: src/filed/job.c:1437
+#: src/filed/job.c:1438
#, c-format
msgid "Bad status %d returned from Storage Daemon.\n"
msgstr ""
-#: src/filed/job.c:1455
+#: src/filed/job.c:1456
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
-#: src/filed/job.c:1483
+#: src/filed/job.c:1484
#, c-format
msgid "2994 Bad verify command: %s\n"
msgstr ""
-#: src/filed/job.c:1498 src/filed/job.c:1537
+#: src/filed/job.c:1499 src/filed/job.c:1538
#, c-format
msgid "2994 Bad verify level: %s\n"
msgstr ""
-#: src/filed/job.c:1579
+#: src/filed/job.c:1580
#, c-format
msgid "Bad replace command. CMD=%s\n"
msgstr ""
-#: src/filed/job.c:1658
+#: src/filed/job.c:1659
msgid "Improper calling sequence.\n"
msgstr ""
-#: src/filed/job.c:1678
+#: src/filed/job.c:1679
#, c-format
msgid "Bad response to SD read open: %s\n"
msgstr ""
-#: src/filed/job.c:1683
+#: src/filed/job.c:1684
msgid "Bad response from stored to read open command\n"
msgstr ""
-#: src/filed/job.c:1747
+#: src/filed/job.c:1748
#, c-format
msgid "Comm error with SD. bad response to %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1750
+#: src/filed/job.c:1751
#, c-format
msgid "Bad response to %s command. Wanted %s, got %s\n"
msgstr ""
msgid " %s%s Job started: %s\n"
msgstr ""
-#: src/filed/status.c:169 src/stored/status.c:398
+#: src/filed/status.c:169 src/stored/status.c:401
#, c-format
msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
msgstr ""
msgid " SDSocket closed.\n"
msgstr ""
-#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:610
-#: src/stored/status.c:633
+#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:613
+#: src/stored/status.c:636
#, c-format
msgid "Bad .status command: %s\n"
msgstr ""
msgid "2900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/filed/status.c:388 src/stored/status.c:551
+#: src/filed/status.c:388 src/stored/status.c:554
msgid "Init Catalog"
msgstr ""
-#: src/filed/status.c:391 src/stored/status.c:554
+#: src/filed/status.c:391 src/stored/status.c:557
msgid "Volume to Catalog"
msgstr ""
-#: src/filed/status.c:394 src/stored/status.c:557
+#: src/filed/status.c:394 src/stored/status.c:560
msgid "Disk to Catalog"
msgstr ""
-#: src/filed/status.c:397 src/stored/status.c:560
+#: src/filed/status.c:397 src/stored/status.c:563
msgid "Data"
msgstr ""
-#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:566
+#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:569
msgid "Unknown Job Level"
msgstr ""
" pool=\"%s\" device=\"%s\"\n"
msgstr ""
-#: src/stored/status.c:406
+#: src/stored/status.c:392
+#, c-format
+msgid " spooling=%d despooling=%d despool_wait=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:412
+#: src/stored/status.c:415
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:434
+#: src/stored/status.c:437
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:465
+#: src/stored/status.c:468
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:611
+#: src/stored/status.c:614
msgid "3900 Bad .status command, missing argument.\n"
msgstr ""
-#: src/stored/status.c:634
+#: src/stored/status.c:637
msgid "3900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/stored/status.c:648
+#: src/stored/status.c:651
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:659
+#: src/stored/status.c:662
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:673
+#: src/stored/status.c:676
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:677
+#: src/stored/status.c:680
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:681
+#: src/stored/status.c:684
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
msgstr ""
"Project-Id-Version: Bacula 1.38\n"
"Report-Msgid-Bugs-To: bacula-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2007-01-04 09:52+0100\n"
+"POT-Creation-Date: 2007-01-12 17:30+0100\n"
"PO-Revision-Date: 2007-01-01 20:45+0100\n"
"Last-Translator: Eric Bollengier <eric@eb.homelinux.org>\n"
"Language-Team: French <bacula-devel-fr@lists.sourceforge.net>\n"
msgstr ""
#: src/cats/sql.c:235 src/cats/sql.c:242 src/cats/sql_create.c:792
-#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:592
-#: src/cats/sql_get.c:667 src/cats/sql_get.c:898
+#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:595
+#: src/cats/sql_get.c:670 src/cats/sql_get.c:901
#, c-format
msgid "error fetching row: %s\n"
msgstr ""
msgid "No Job found for JobId %s\n"
msgstr ""
-#: src/cats/sql_get.c:352 src/cats/sql_get.c:408
+#: src/cats/sql_get.c:355 src/cats/sql_get.c:411
#, c-format
msgid "No volumes found for JobId=%d\n"
msgstr ""
-#: src/cats/sql_get.c:358 src/cats/sql_get.c:421
+#: src/cats/sql_get.c:361 src/cats/sql_get.c:424
#, c-format
msgid "Error fetching row %d: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:372
+#: src/cats/sql_get.c:375
#, c-format
msgid "No Volume for JobId %d found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:508
+#: src/cats/sql_get.c:511
#, c-format
msgid "Pool id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:545
+#: src/cats/sql_get.c:548
#, c-format
msgid "Client id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:587
+#: src/cats/sql_get.c:590
#, c-format
msgid "More than one Pool!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:628
+#: src/cats/sql_get.c:631
msgid "Pool record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:662
+#: src/cats/sql_get.c:665
#, c-format
msgid "More than one Client!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:679 src/cats/sql_get.c:683
+#: src/cats/sql_get.c:682 src/cats/sql_get.c:686
msgid "Client record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:708
+#: src/cats/sql_get.c:711
#, c-format
msgid "More than one Counter!: %d\n"
msgstr ""
-#: src/cats/sql_get.c:713
+#: src/cats/sql_get.c:716
#, c-format
msgid "error fetching Counter row: %s\n"
msgstr ""
-#: src/cats/sql_get.c:733
+#: src/cats/sql_get.c:736
#, c-format
msgid "Counter record: %s not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:769
+#: src/cats/sql_get.c:772
#, c-format
msgid "Error got %s FileSets but expected only one!\n"
msgstr ""
-#: src/cats/sql_get.c:774
+#: src/cats/sql_get.c:777
#, c-format
msgid "FileSet record \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:784
+#: src/cats/sql_get.c:787
msgid "FileSet record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:841
+#: src/cats/sql_get.c:844
#, c-format
msgid "Media id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:893
+#: src/cats/sql_get.c:896
#, c-format
msgid "More than one Volume!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:946
+#: src/cats/sql_get.c:949
#, c-format
msgid "Media record MediaId=%s not found.\n"
msgstr ""
-#: src/cats/sql_get.c:949
+#: src/cats/sql_get.c:952
#, c-format
msgid "Media record for Volume \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:956
+#: src/cats/sql_get.c:959
#, c-format
msgid "Media record for MediaId=%u not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:959
+#: src/cats/sql_get.c:962
#, c-format
msgid "Media record for Vol=%s not found in Catalog.\n"
msgstr ""
"Fin de la purge automatique.\n"
"\n"
-#: src/dird/backup.c:87 src/dird/job.c:937 src/dird/job.c:976
+#: src/dird/backup.c:87 src/dird/job.c:940 src/dird/job.c:986
#: src/dird/migrate.c:229 src/dird/migrate.c:230
#, fuzzy
msgid "Pool resource"
msgid "Cannot open included file: %s. ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier inclus : %s. ERR=%s\n"
-#: src/dird/fd_cmds.c:468 src/filed/job.c:1771
+#: src/dird/fd_cmds.c:468 src/filed/job.c:1772
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr "Impossible d'ouvrir le fichier bootstrap %s : ERR=%s\n"
msgid "Could not open database \"%s\".\n"
msgstr "Impossible d'ouvrir la base de données « %s ».\n"
-#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:969
+#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:966 src/dird/job.c:978
#: src/dird/ua_cmds.c:690 src/dird/ua_cmds.c:1340 src/dird/ua_status.c:293
msgid "unknown source"
msgstr "source inconnue"
msgid "Failed to connect to File daemon.\n"
msgstr "Impossible de se connecter au client.\n"
-#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:940 src/dird/job.c:974
-#: src/dird/job.c:983
+#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:943 src/dird/job.c:984
+#: src/dird/job.c:993
#, fuzzy
msgid "Job resource"
msgstr "Pool à partir de sa définition"
-#: src/dird/job.c:411 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
+#: src/dird/job.c:409 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
#: src/dird/ua_label.c:753
msgid "Failed to connect to Storage daemon.\n"
msgstr "Impossible de se connecter au Storage daemon.\n"
-#: src/dird/job.c:456
+#: src/dird/job.c:454
msgid "Max wait time exceeded. Job canceled.\n"
msgstr "Temps d'attente maximum dépassé. Abandon du job.\n"
-#: src/dird/job.c:461
+#: src/dird/job.c:459
msgid "Max run time exceeded. Job canceled.\n"
msgstr "Temps d'exécution maximum atteind. Abandon du job.\n"
-#: src/dird/job.c:555 src/dird/job.c:604
+#: src/dird/job.c:553 src/dird/job.c:602
#, c-format
msgid "Unhandled job status code %d\n"
msgstr ""
-#: src/dird/job.c:630 src/dird/ua_output.c:630
+#: src/dird/job.c:628 src/dird/ua_output.c:630
#, c-format
msgid "Pool %s not in database. %s"
msgstr "Pool %s introuvable en base. %s"
-#: src/dird/job.c:634 src/dird/ua_output.c:638
+#: src/dird/job.c:632 src/dird/ua_output.c:638
#, c-format
msgid "Pool %s created in database.\n"
msgstr "Pool %s créé en base.\n"
-#: src/dird/job.c:643 src/dird/job.c:927
+#: src/dird/job.c:641 src/dird/job.c:930
msgid "Run pool override"
msgstr ""
-#: src/dird/job.c:653
+#: src/dird/job.c:651
msgid "Run FullPool override"
msgstr ""
-#: src/dird/job.c:655
+#: src/dird/job.c:653
msgid "Job FullPool override"
msgstr ""
-#: src/dird/job.c:663
+#: src/dird/job.c:661
msgid "Run IncPool override"
msgstr ""
-#: src/dird/job.c:665
+#: src/dird/job.c:663
msgid "Job IncPool override"
msgstr ""
-#: src/dird/job.c:673
+#: src/dird/job.c:671
msgid "Run DiffPool override"
msgstr ""
-#: src/dird/job.c:675
+#: src/dird/job.c:673
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:700 src/stored/bscan.c:962
+#: src/dird/job.c:698 src/stored/bscan.c:962
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:736
+#: src/dird/job.c:734
msgid "FileSet MD5 digest not found.\n"
msgstr ""
-#: src/dird/job.c:741
+#: src/dird/job.c:739
#, c-format
msgid "Could not create FileSet \"%s\" record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:781
+#: src/dird/job.c:779
#, c-format
msgid "Error updating job record. %s"
msgstr ""
-#: src/dird/job.c:932
+#: src/dird/job.c:935
msgid "Run storage override"
msgstr ""
-#: src/dird/job.c:1045 src/dird/ua_run.c:389
+#: src/dird/job.c:1055 src/dird/ua_run.c:389
msgid "No storage specified.\n"
msgstr "Pas de storage sélectionné.\n"
-#: src/dird/job.c:1206
+#: src/dird/job.c:1216
msgid "Could not start clone job.\n"
msgstr ""
-#: src/dird/job.c:1208
+#: src/dird/job.c:1218
#, c-format
msgid "Clone JobId %d started.\n"
msgstr ""
msgid "Storage from Pool's NextPool resource"
msgstr "Sélectionnez le Pool"
-#: src/dird/msgchan.c:99 src/filed/job.c:1247
+#: src/dird/msgchan.c:99 src/filed/job.c:1248
#: src/tray-monitor/tray-monitor.c:888
msgid "Storage daemon"
msgstr ""
msgid "Warning Job %s is not running. Continuing anyway ...\n"
msgstr "Attention le Job %s n'est pas en cours. Continuons quand même...\n"
-#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:421
+#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:424
msgid "No Jobs running.\n"
msgstr "Pas de job en cours.\n"
msgstr "Saisir la liste des répertoires à restaurer (pour un JobId)"
#: src/dird/ua_restore.c:329 src/dird/ua_status.c:732 src/filed/status.c:254
-#: src/stored/status.c:495 src/wx-console/wxbconfigpanel.cpp:212
+#: src/stored/status.c:498 src/wx-console/wxbconfigpanel.cpp:212
msgid "Cancel"
msgstr "Annulé"
msgstr "Types :\n"
#: src/dird/ua_run.c:782 src/filed/status.c:371 src/lib/util.c:329
-#: src/stored/status.c:534
+#: src/stored/status.c:537
msgid "Base"
msgstr "Base"
#: src/dird/ua_run.c:783 src/filed/status.c:373 src/lib/util.c:331
-#: src/stored/status.c:536
+#: src/stored/status.c:539
msgid "Full"
msgstr "Full"
#: src/dird/ua_run.c:784 src/filed/status.c:376 src/lib/util.c:334
-#: src/stored/status.c:539
+#: src/stored/status.c:542
msgid "Incremental"
msgstr "Incrémental"
#: src/dird/ua_run.c:785 src/filed/status.c:379 src/lib/util.c:337
-#: src/stored/status.c:542
+#: src/stored/status.c:545
msgid "Differential"
msgstr "Différentiel"
#: src/dird/ua_run.c:786 src/filed/status.c:382 src/lib/util.c:340
-#: src/stored/status.c:545
+#: src/stored/status.c:548
msgid "Since"
msgstr "Depuis"
msgstr "Initialisez le catalogue"
#: src/dird/ua_run.c:809 src/filed/status.c:385 src/lib/util.c:343
-#: src/stored/status.c:548
+#: src/stored/status.c:551
msgid "Verify Catalog"
msgstr ""
msgid "No Terminated Jobs.\n"
msgstr "Pas de job terminé.\n"
-#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:456
+#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:459
msgid ""
"\n"
"Terminated Jobs:\n"
"\n"
"Job terminés :\n"
-#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:463
+#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:466
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr " JobId Type Fichiers Octets Statut Terminé Nom\n"
msgstr "=====================================================================\n"
#: src/dird/ua_status.c:722 src/filed/status.c:244 src/lib/util.c:179
-#: src/stored/status.c:485
+#: src/stored/status.c:488
msgid "Created"
msgstr "Crée"
#: src/dird/ua_status.c:726 src/filed/status.c:248 src/lib/util.c:192
-#: src/lib/util.c:259 src/stored/status.c:489
+#: src/lib/util.c:259 src/stored/status.c:492
msgid "Error"
msgstr "Erreur"
-#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:492
+#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:495
msgid "Diffs"
msgstr ""
#: src/dird/ua_status.c:735 src/filed/status.c:257 src/lib/util.c:188
-#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:498
+#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:501
#: src/wx-console/wxbconfigpanel.cpp:201
msgid "OK"
msgstr "OK"
-#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:501
+#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:504
msgid "Other"
msgstr "Autre"
-#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:512
+#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:515
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgid "Cannot open FileSet input file: %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:731
+#: src/filed/job.c:733
#, c-format
msgid "REGEX %s compile error. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:793
+#: src/filed/job.c:795
#, c-format
msgid "Invalid FileSet command: %s\n"
msgstr ""
-#: src/filed/job.c:1008 src/findlib/match.c:199 src/tools/testfind.c:635
+#: src/filed/job.c:1009 src/findlib/match.c:199 src/tools/testfind.c:635
#, c-format
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/filed/job.c:1077 src/stored/fd_cmds.c:348
+#: src/filed/job.c:1078 src/stored/fd_cmds.c:348
#, c-format
msgid "Could not create bootstrap file %s: ERR=%s\n"
msgstr "Impossible de créer le fichier bootstrap %s : ERR=%s\n"
-#: src/filed/job.c:1179
+#: src/filed/job.c:1180
#, c-format
msgid "DIR and FD clocks differ by %d seconds, FD automatically adjusting.\n"
msgstr ""
"L'horloge du client et du director ont %d secondes d'écart, le client s'est "
"ajusté automatiquement.\n"
-#: src/filed/job.c:1187
+#: src/filed/job.c:1188
#, c-format
msgid "Unknown backup level: %s\n"
msgstr ""
-#: src/filed/job.c:1199
+#: src/filed/job.c:1200
#, c-format
msgid "Bad level command: %s\n"
msgstr ""
-#: src/filed/job.c:1220
+#: src/filed/job.c:1221
#, c-format
msgid "Bad session command: %s"
msgstr ""
-#: src/filed/job.c:1241
+#: src/filed/job.c:1242
#, c-format
msgid "Bad storage command: %s"
msgstr ""
-#: src/filed/job.c:1250
+#: src/filed/job.c:1251
#, c-format
msgid "Failed to connect to Storage daemon: %s:%d\n"
msgstr ""
-#: src/filed/job.c:1262
+#: src/filed/job.c:1263
msgid "Failed to authenticate Storage daemon.\n"
msgstr ""
-#: src/filed/job.c:1300
+#: src/filed/job.c:1301
msgid "Cannot contact Storage daemon\n"
msgstr "Impossible de se connecter au démon Storage\n"
-#: src/filed/job.c:1318
+#: src/filed/job.c:1319
#, c-format
msgid "Bad response to append open: %s\n"
msgstr ""
-#: src/filed/job.c:1323
+#: src/filed/job.c:1324
msgid "Bad response from stored to open command\n"
msgstr ""
-#: src/filed/job.c:1350
+#: src/filed/job.c:1351
#, c-format
msgid "Generate VSS snapshots. Driver=\"%s\", Drive(s)=\"%s\"\n"
msgstr "Création des snapshot VSS. Driver=« %s », Lecteur(s)=« %s »\n"
-#: src/filed/job.c:1352
+#: src/filed/job.c:1353
msgid "Generate VSS snapshots failed.\n"
msgstr "Erreur durant la création des snapshots VSS.\n"
-#: src/filed/job.c:1359
+#: src/filed/job.c:1360
#, c-format
msgid ""
"Generate VSS snapshot of drive \"%c:\\\" failed. VSS support is disabled on "
"Erreur lors de la création du snapshot VSS du lecteur « %c:\\\\ ». Le VSS "
"est désactivé sur ce lecteur.\n"
-#: src/filed/job.c:1366
+#: src/filed/job.c:1367
#, c-format
msgid "VSS Writer (PrepareForBackup): %s\n"
msgstr ""
-#: src/filed/job.c:1371
+#: src/filed/job.c:1372
msgid "No drive letters found for generating VSS snapshots.\n"
msgstr ""
-#: src/filed/job.c:1375
+#: src/filed/job.c:1376
#, c-format
msgid "VSS was not initialized properly. VSS support is disabled. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1433
+#: src/filed/job.c:1434
msgid "Append Close with SD failed.\n"
msgstr ""
-#: src/filed/job.c:1437
+#: src/filed/job.c:1438
#, c-format
msgid "Bad status %d returned from Storage Daemon.\n"
msgstr ""
-#: src/filed/job.c:1455
+#: src/filed/job.c:1456
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
-#: src/filed/job.c:1483
+#: src/filed/job.c:1484
#, c-format
msgid "2994 Bad verify command: %s\n"
msgstr ""
-#: src/filed/job.c:1498 src/filed/job.c:1537
+#: src/filed/job.c:1499 src/filed/job.c:1538
#, c-format
msgid "2994 Bad verify level: %s\n"
msgstr ""
-#: src/filed/job.c:1579
+#: src/filed/job.c:1580
#, c-format
msgid "Bad replace command. CMD=%s\n"
msgstr ""
-#: src/filed/job.c:1658
+#: src/filed/job.c:1659
msgid "Improper calling sequence.\n"
msgstr ""
-#: src/filed/job.c:1678
+#: src/filed/job.c:1679
#, c-format
msgid "Bad response to SD read open: %s\n"
msgstr ""
-#: src/filed/job.c:1683
+#: src/filed/job.c:1684
msgid "Bad response from stored to read open command\n"
msgstr ""
-#: src/filed/job.c:1747
+#: src/filed/job.c:1748
#, c-format
msgid "Comm error with SD. bad response to %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1750
+#: src/filed/job.c:1751
#, c-format
msgid "Bad response to %s command. Wanted %s, got %s\n"
msgstr ""
msgid " %s%s Job started: %s\n"
msgstr ""
-#: src/filed/status.c:169 src/stored/status.c:398
+#: src/filed/status.c:169 src/stored/status.c:401
#, c-format
msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
msgstr ""
msgid " SDSocket closed.\n"
msgstr ""
-#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:610
-#: src/stored/status.c:633
+#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:613
+#: src/stored/status.c:636
#, c-format
msgid "Bad .status command: %s\n"
msgstr ""
msgid "2900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/filed/status.c:388 src/stored/status.c:551
+#: src/filed/status.c:388 src/stored/status.c:554
msgid "Init Catalog"
msgstr ""
-#: src/filed/status.c:391 src/stored/status.c:554
+#: src/filed/status.c:391 src/stored/status.c:557
msgid "Volume to Catalog"
msgstr ""
-#: src/filed/status.c:394 src/stored/status.c:557
+#: src/filed/status.c:394 src/stored/status.c:560
msgid "Disk to Catalog"
msgstr ""
-#: src/filed/status.c:397 src/stored/status.c:560
+#: src/filed/status.c:397 src/stored/status.c:563
msgid "Data"
msgstr ""
-#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:566
+#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:569
msgid "Unknown Job Level"
msgstr ""
"Ecriture : %s %s job %s JobId=%d Volume=« %s »\n"
" pool=« %s » device=« %s »\n"
-#: src/stored/status.c:406
+#: src/stored/status.c:392
+#, c-format
+msgid " spooling=%d despooling=%d despool_wait=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:412
+#: src/stored/status.c:415
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:434
+#: src/stored/status.c:437
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
"\n"
"Jobs en attente de réservation de lecteur :\n"
-#: src/stored/status.c:465
+#: src/stored/status.c:468
msgid "===================================================================\n"
msgstr "===================================================================\n"
-#: src/stored/status.c:611
+#: src/stored/status.c:614
msgid "3900 Bad .status command, missing argument.\n"
msgstr ""
-#: src/stored/status.c:634
+#: src/stored/status.c:637
msgid "3900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/stored/status.c:648
+#: src/stored/status.c:651
msgid "Bacula Storage: Idle"
msgstr "Bacula Storage : En attente"
-#: src/stored/status.c:659
+#: src/stored/status.c:662
msgid "Bacula Storage: Running"
msgstr "Bacula Storage : En cours"
-#: src/stored/status.c:673
+#: src/stored/status.c:676
msgid "Bacula Storage: Last Job Canceled"
msgstr "Bacula Storage : Dernier Job annulé"
-#: src/stored/status.c:677
+#: src/stored/status.c:680
msgid "Bacula Storage: Last Job Failed"
msgstr "Bacula Storage : Dernier Job en erreur"
-#: src/stored/status.c:681
+#: src/stored/status.c:684
msgid "Bacula Storage: Last Job had Warnings"
msgstr "Bacula Storage : Le dernier Job avait des erreurs"
msgstr ""
"Project-Id-Version: Bacula 1.38\n"
"Report-Msgid-Bugs-To: bacula-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2007-01-04 09:52+0100\n"
+"POT-Creation-Date: 2007-01-12 17:30+0100\n"
"PO-Revision-Date: 2005-08-08 17:50+0200\n"
"Last-Translator: <fparacchini@alteanet.it>\n"
"Language-Team: Italian <bacula-devel@lists.sourceforge.net>\n"
msgstr ""
#: src/cats/sql.c:235 src/cats/sql.c:242 src/cats/sql_create.c:792
-#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:592
-#: src/cats/sql_get.c:667 src/cats/sql_get.c:898
+#: src/cats/sql_get.c:186 src/cats/sql_get.c:237 src/cats/sql_get.c:595
+#: src/cats/sql_get.c:670 src/cats/sql_get.c:901
#, c-format
msgid "error fetching row: %s\n"
msgstr ""
msgid "No Job found for JobId %s\n"
msgstr ""
-#: src/cats/sql_get.c:352 src/cats/sql_get.c:408
+#: src/cats/sql_get.c:355 src/cats/sql_get.c:411
#, c-format
msgid "No volumes found for JobId=%d\n"
msgstr ""
-#: src/cats/sql_get.c:358 src/cats/sql_get.c:421
+#: src/cats/sql_get.c:361 src/cats/sql_get.c:424
#, c-format
msgid "Error fetching row %d: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:372
+#: src/cats/sql_get.c:375
#, c-format
msgid "No Volume for JobId %d found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:508
+#: src/cats/sql_get.c:511
#, c-format
msgid "Pool id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:545
+#: src/cats/sql_get.c:548
#, c-format
msgid "Client id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:587
+#: src/cats/sql_get.c:590
#, c-format
msgid "More than one Pool!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:628
+#: src/cats/sql_get.c:631
msgid "Pool record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:662
+#: src/cats/sql_get.c:665
#, c-format
msgid "More than one Client!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:679 src/cats/sql_get.c:683
+#: src/cats/sql_get.c:682 src/cats/sql_get.c:686
msgid "Client record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:708
+#: src/cats/sql_get.c:711
#, c-format
msgid "More than one Counter!: %d\n"
msgstr ""
-#: src/cats/sql_get.c:713
+#: src/cats/sql_get.c:716
#, c-format
msgid "error fetching Counter row: %s\n"
msgstr ""
-#: src/cats/sql_get.c:733
+#: src/cats/sql_get.c:736
#, c-format
msgid "Counter record: %s not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:769
+#: src/cats/sql_get.c:772
#, c-format
msgid "Error got %s FileSets but expected only one!\n"
msgstr ""
-#: src/cats/sql_get.c:774
+#: src/cats/sql_get.c:777
#, c-format
msgid "FileSet record \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:784
+#: src/cats/sql_get.c:787
msgid "FileSet record not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:841
+#: src/cats/sql_get.c:844
#, c-format
msgid "Media id select failed: ERR=%s\n"
msgstr ""
-#: src/cats/sql_get.c:893
+#: src/cats/sql_get.c:896
#, c-format
msgid "More than one Volume!: %s\n"
msgstr ""
-#: src/cats/sql_get.c:946
+#: src/cats/sql_get.c:949
#, c-format
msgid "Media record MediaId=%s not found.\n"
msgstr ""
-#: src/cats/sql_get.c:949
+#: src/cats/sql_get.c:952
#, c-format
msgid "Media record for Volume \"%s\" not found.\n"
msgstr ""
-#: src/cats/sql_get.c:956
+#: src/cats/sql_get.c:959
#, c-format
msgid "Media record for MediaId=%u not found in Catalog.\n"
msgstr ""
-#: src/cats/sql_get.c:959
+#: src/cats/sql_get.c:962
#, c-format
msgid "Media record for Vol=%s not found in Catalog.\n"
msgstr ""
"\n"
msgstr ""
-#: src/dird/backup.c:87 src/dird/job.c:937 src/dird/job.c:976
+#: src/dird/backup.c:87 src/dird/job.c:940 src/dird/job.c:986
#: src/dird/migrate.c:229 src/dird/migrate.c:230
msgid "Pool resource"
msgstr ""
msgid "Cannot open included file: %s. ERR=%s\n"
msgstr ""
-#: src/dird/fd_cmds.c:468 src/filed/job.c:1771
+#: src/dird/fd_cmds.c:468 src/filed/job.c:1772
#, c-format
msgid "Could not open bootstrap file %s: ERR=%s\n"
msgstr ""
msgid "Could not open database \"%s\".\n"
msgstr ""
-#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:969
+#: src/dird/job.c:145 src/dird/job.c:151 src/dird/job.c:966 src/dird/job.c:978
#: src/dird/ua_cmds.c:690 src/dird/ua_cmds.c:1340 src/dird/ua_status.c:293
msgid "unknown source"
msgstr ""
msgid "Failed to connect to File daemon.\n"
msgstr ""
-#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:940 src/dird/job.c:974
-#: src/dird/job.c:983
+#: src/dird/job.c:394 src/dird/job.c:396 src/dird/job.c:943 src/dird/job.c:984
+#: src/dird/job.c:993
msgid "Job resource"
msgstr ""
-#: src/dird/job.c:411 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
+#: src/dird/job.c:409 src/dird/ua_cmds.c:696 src/dird/ua_cmds.c:1354
#: src/dird/ua_label.c:753
msgid "Failed to connect to Storage daemon.\n"
msgstr ""
-#: src/dird/job.c:456
+#: src/dird/job.c:454
msgid "Max wait time exceeded. Job canceled.\n"
msgstr ""
-#: src/dird/job.c:461
+#: src/dird/job.c:459
msgid "Max run time exceeded. Job canceled.\n"
msgstr ""
-#: src/dird/job.c:555 src/dird/job.c:604
+#: src/dird/job.c:553 src/dird/job.c:602
#, c-format
msgid "Unhandled job status code %d\n"
msgstr ""
-#: src/dird/job.c:630 src/dird/ua_output.c:630
+#: src/dird/job.c:628 src/dird/ua_output.c:630
#, c-format
msgid "Pool %s not in database. %s"
msgstr ""
-#: src/dird/job.c:634 src/dird/ua_output.c:638
+#: src/dird/job.c:632 src/dird/ua_output.c:638
#, c-format
msgid "Pool %s created in database.\n"
msgstr ""
-#: src/dird/job.c:643 src/dird/job.c:927
+#: src/dird/job.c:641 src/dird/job.c:930
msgid "Run pool override"
msgstr ""
-#: src/dird/job.c:653
+#: src/dird/job.c:651
msgid "Run FullPool override"
msgstr ""
-#: src/dird/job.c:655
+#: src/dird/job.c:653
msgid "Job FullPool override"
msgstr ""
-#: src/dird/job.c:663
+#: src/dird/job.c:661
msgid "Run IncPool override"
msgstr ""
-#: src/dird/job.c:665
+#: src/dird/job.c:663
msgid "Job IncPool override"
msgstr ""
-#: src/dird/job.c:673
+#: src/dird/job.c:671
msgid "Run DiffPool override"
msgstr ""
-#: src/dird/job.c:675
+#: src/dird/job.c:673
msgid "Job DiffPool override"
msgstr ""
-#: src/dird/job.c:700 src/stored/bscan.c:962
+#: src/dird/job.c:698 src/stored/bscan.c:962
#, c-format
msgid "Could not create Client record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:736
+#: src/dird/job.c:734
msgid "FileSet MD5 digest not found.\n"
msgstr ""
-#: src/dird/job.c:741
+#: src/dird/job.c:739
#, c-format
msgid "Could not create FileSet \"%s\" record. ERR=%s\n"
msgstr ""
-#: src/dird/job.c:781
+#: src/dird/job.c:779
#, c-format
msgid "Error updating job record. %s"
msgstr ""
-#: src/dird/job.c:932
+#: src/dird/job.c:935
msgid "Run storage override"
msgstr ""
-#: src/dird/job.c:1045 src/dird/ua_run.c:389
+#: src/dird/job.c:1055 src/dird/ua_run.c:389
msgid "No storage specified.\n"
msgstr ""
-#: src/dird/job.c:1206
+#: src/dird/job.c:1216
msgid "Could not start clone job.\n"
msgstr ""
-#: src/dird/job.c:1208
+#: src/dird/job.c:1218
#, c-format
msgid "Clone JobId %d started.\n"
msgstr ""
msgid "Storage from Pool's NextPool resource"
msgstr ""
-#: src/dird/msgchan.c:99 src/filed/job.c:1247
+#: src/dird/msgchan.c:99 src/filed/job.c:1248
#: src/tray-monitor/tray-monitor.c:888
msgid "Storage daemon"
msgstr ""
msgid "Warning Job %s is not running. Continuing anyway ...\n"
msgstr ""
-#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:421
+#: src/dird/ua_cmds.c:441 src/filed/status.c:197 src/stored/status.c:424
msgid "No Jobs running.\n"
msgstr ""
msgstr ""
#: src/dird/ua_restore.c:329 src/dird/ua_status.c:732 src/filed/status.c:254
-#: src/stored/status.c:495 src/wx-console/wxbconfigpanel.cpp:212
+#: src/stored/status.c:498 src/wx-console/wxbconfigpanel.cpp:212
msgid "Cancel"
msgstr ""
msgstr ""
#: src/dird/ua_run.c:782 src/filed/status.c:371 src/lib/util.c:329
-#: src/stored/status.c:534
+#: src/stored/status.c:537
msgid "Base"
msgstr ""
#: src/dird/ua_run.c:783 src/filed/status.c:373 src/lib/util.c:331
-#: src/stored/status.c:536
+#: src/stored/status.c:539
msgid "Full"
msgstr ""
#: src/dird/ua_run.c:784 src/filed/status.c:376 src/lib/util.c:334
-#: src/stored/status.c:539
+#: src/stored/status.c:542
msgid "Incremental"
msgstr ""
#: src/dird/ua_run.c:785 src/filed/status.c:379 src/lib/util.c:337
-#: src/stored/status.c:542
+#: src/stored/status.c:545
msgid "Differential"
msgstr ""
#: src/dird/ua_run.c:786 src/filed/status.c:382 src/lib/util.c:340
-#: src/stored/status.c:545
+#: src/stored/status.c:548
msgid "Since"
msgstr ""
msgstr ""
#: src/dird/ua_run.c:809 src/filed/status.c:385 src/lib/util.c:343
-#: src/stored/status.c:548
+#: src/stored/status.c:551
msgid "Verify Catalog"
msgstr ""
msgid "No Terminated Jobs.\n"
msgstr ""
-#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:456
+#: src/dird/ua_status.c:689 src/filed/status.c:214 src/stored/status.c:459
msgid ""
"\n"
"Terminated Jobs:\n"
msgstr ""
-#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:463
+#: src/dird/ua_status.c:690 src/filed/status.c:222 src/stored/status.c:466
msgid " JobId Level Files Bytes Status Finished Name \n"
msgstr ""
msgstr ""
#: src/dird/ua_status.c:722 src/filed/status.c:244 src/lib/util.c:179
-#: src/stored/status.c:485
+#: src/stored/status.c:488
msgid "Created"
msgstr ""
#: src/dird/ua_status.c:726 src/filed/status.c:248 src/lib/util.c:192
-#: src/lib/util.c:259 src/stored/status.c:489
+#: src/lib/util.c:259 src/stored/status.c:492
msgid "Error"
msgstr ""
-#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:492
+#: src/dird/ua_status.c:729 src/filed/status.c:251 src/stored/status.c:495
msgid "Diffs"
msgstr ""
#: src/dird/ua_status.c:735 src/filed/status.c:257 src/lib/util.c:188
-#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:498
+#: src/lib/util.c:255 src/stored/btape.c:1187 src/stored/status.c:501
#: src/wx-console/wxbconfigpanel.cpp:201
msgid "OK"
msgstr ""
-#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:501
+#: src/dird/ua_status.c:738 src/filed/status.c:260 src/stored/status.c:504
msgid "Other"
msgstr ""
-#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:512
+#: src/dird/ua_status.c:741 src/filed/status.c:271 src/stored/status.c:515
#, c-format
msgid "%6d %-6s %8s %10s %-7s %-8s %s\n"
msgstr ""
msgid "Cannot open FileSet input file: %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:731
+#: src/filed/job.c:733
#, c-format
msgid "REGEX %s compile error. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:793
+#: src/filed/job.c:795
#, c-format
msgid "Invalid FileSet command: %s\n"
msgstr ""
-#: src/filed/job.c:1008 src/findlib/match.c:199 src/tools/testfind.c:635
+#: src/filed/job.c:1009 src/findlib/match.c:199 src/tools/testfind.c:635
#, c-format
msgid "Unknown include/exclude option: %c\n"
msgstr ""
-#: src/filed/job.c:1077 src/stored/fd_cmds.c:348
+#: src/filed/job.c:1078 src/stored/fd_cmds.c:348
#, c-format
msgid "Could not create bootstrap file %s: ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1179
+#: src/filed/job.c:1180
#, c-format
msgid "DIR and FD clocks differ by %d seconds, FD automatically adjusting.\n"
msgstr ""
-#: src/filed/job.c:1187
+#: src/filed/job.c:1188
#, c-format
msgid "Unknown backup level: %s\n"
msgstr ""
-#: src/filed/job.c:1199
+#: src/filed/job.c:1200
#, c-format
msgid "Bad level command: %s\n"
msgstr ""
-#: src/filed/job.c:1220
+#: src/filed/job.c:1221
#, c-format
msgid "Bad session command: %s"
msgstr ""
-#: src/filed/job.c:1241
+#: src/filed/job.c:1242
#, c-format
msgid "Bad storage command: %s"
msgstr ""
-#: src/filed/job.c:1250
+#: src/filed/job.c:1251
#, c-format
msgid "Failed to connect to Storage daemon: %s:%d\n"
msgstr ""
-#: src/filed/job.c:1262
+#: src/filed/job.c:1263
msgid "Failed to authenticate Storage daemon.\n"
msgstr ""
-#: src/filed/job.c:1300
+#: src/filed/job.c:1301
msgid "Cannot contact Storage daemon\n"
msgstr ""
-#: src/filed/job.c:1318
+#: src/filed/job.c:1319
#, c-format
msgid "Bad response to append open: %s\n"
msgstr ""
-#: src/filed/job.c:1323
+#: src/filed/job.c:1324
msgid "Bad response from stored to open command\n"
msgstr ""
-#: src/filed/job.c:1350
+#: src/filed/job.c:1351
#, c-format
msgid "Generate VSS snapshots. Driver=\"%s\", Drive(s)=\"%s\"\n"
msgstr ""
-#: src/filed/job.c:1352
+#: src/filed/job.c:1353
msgid "Generate VSS snapshots failed.\n"
msgstr ""
-#: src/filed/job.c:1359
+#: src/filed/job.c:1360
#, c-format
msgid ""
"Generate VSS snapshot of drive \"%c:\\\" failed. VSS support is disabled on "
"this drive.\n"
msgstr ""
-#: src/filed/job.c:1366
+#: src/filed/job.c:1367
#, c-format
msgid "VSS Writer (PrepareForBackup): %s\n"
msgstr ""
-#: src/filed/job.c:1371
+#: src/filed/job.c:1372
msgid "No drive letters found for generating VSS snapshots.\n"
msgstr ""
-#: src/filed/job.c:1375
+#: src/filed/job.c:1376
#, c-format
msgid "VSS was not initialized properly. VSS support is disabled. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1433
+#: src/filed/job.c:1434
msgid "Append Close with SD failed.\n"
msgstr ""
-#: src/filed/job.c:1437
+#: src/filed/job.c:1438
#, c-format
msgid "Bad status %d returned from Storage Daemon.\n"
msgstr ""
-#: src/filed/job.c:1455
+#: src/filed/job.c:1456
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
-#: src/filed/job.c:1483
+#: src/filed/job.c:1484
#, c-format
msgid "2994 Bad verify command: %s\n"
msgstr ""
-#: src/filed/job.c:1498 src/filed/job.c:1537
+#: src/filed/job.c:1499 src/filed/job.c:1538
#, c-format
msgid "2994 Bad verify level: %s\n"
msgstr ""
-#: src/filed/job.c:1579
+#: src/filed/job.c:1580
#, c-format
msgid "Bad replace command. CMD=%s\n"
msgstr ""
-#: src/filed/job.c:1658
+#: src/filed/job.c:1659
msgid "Improper calling sequence.\n"
msgstr ""
-#: src/filed/job.c:1678
+#: src/filed/job.c:1679
#, c-format
msgid "Bad response to SD read open: %s\n"
msgstr ""
-#: src/filed/job.c:1683
+#: src/filed/job.c:1684
msgid "Bad response from stored to read open command\n"
msgstr ""
-#: src/filed/job.c:1747
+#: src/filed/job.c:1748
#, c-format
msgid "Comm error with SD. bad response to %s. ERR=%s\n"
msgstr ""
-#: src/filed/job.c:1750
+#: src/filed/job.c:1751
#, c-format
msgid "Bad response to %s command. Wanted %s, got %s\n"
msgstr ""
msgid " %s%s Job started: %s\n"
msgstr ""
-#: src/filed/status.c:169 src/stored/status.c:398
+#: src/filed/status.c:169 src/stored/status.c:401
#, c-format
msgid " Files=%s Bytes=%s Bytes/sec=%s\n"
msgstr ""
msgid " SDSocket closed.\n"
msgstr ""
-#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:610
-#: src/stored/status.c:633
+#: src/filed/status.c:326 src/filed/status.c:350 src/stored/status.c:613
+#: src/stored/status.c:636
#, c-format
msgid "Bad .status command: %s\n"
msgstr ""
msgid "2900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/filed/status.c:388 src/stored/status.c:551
+#: src/filed/status.c:388 src/stored/status.c:554
msgid "Init Catalog"
msgstr ""
-#: src/filed/status.c:391 src/stored/status.c:554
+#: src/filed/status.c:391 src/stored/status.c:557
msgid "Volume to Catalog"
msgstr ""
-#: src/filed/status.c:394 src/stored/status.c:557
+#: src/filed/status.c:394 src/stored/status.c:560
msgid "Disk to Catalog"
msgstr ""
-#: src/filed/status.c:397 src/stored/status.c:560
+#: src/filed/status.c:397 src/stored/status.c:563
msgid "Data"
msgstr ""
-#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:566
+#: src/filed/status.c:403 src/lib/util.c:361 src/stored/status.c:569
msgid "Unknown Job Level"
msgstr ""
" pool=\"%s\" device=\"%s\"\n"
msgstr ""
-#: src/stored/status.c:406
+#: src/stored/status.c:392
+#, c-format
+msgid " spooling=%d despooling=%d despool_wait=%d\n"
+msgstr ""
+
+#: src/stored/status.c:409
#, c-format
msgid " FDReadSeqNo=%s in_msg=%u out_msg=%d fd=%d\n"
msgstr ""
-#: src/stored/status.c:412
+#: src/stored/status.c:415
msgid " FDSocket closed\n"
msgstr ""
-#: src/stored/status.c:434
+#: src/stored/status.c:437
msgid ""
"\n"
"Jobs waiting to reserve a drive:\n"
msgstr ""
-#: src/stored/status.c:465
+#: src/stored/status.c:468
msgid "===================================================================\n"
msgstr ""
-#: src/stored/status.c:611
+#: src/stored/status.c:614
msgid "3900 Bad .status command, missing argument.\n"
msgstr ""
-#: src/stored/status.c:634
+#: src/stored/status.c:637
msgid "3900 Bad .status command, wrong argument.\n"
msgstr ""
-#: src/stored/status.c:648
+#: src/stored/status.c:651
msgid "Bacula Storage: Idle"
msgstr ""
-#: src/stored/status.c:659
+#: src/stored/status.c:662
msgid "Bacula Storage: Running"
msgstr ""
-#: src/stored/status.c:673
+#: src/stored/status.c:676
msgid "Bacula Storage: Last Job Canceled"
msgstr ""
-#: src/stored/status.c:677
+#: src/stored/status.c:680
msgid "Bacula Storage: Last Job Failed"
msgstr ""
-#: src/stored/status.c:681
+#: src/stored/status.c:684
msgid "Bacula Storage: Last Job had Warnings"
msgstr ""
Status updated 26 January 2007
After re-ordering in vote priority
-Items Completed:
-Item: 18 Quick release of FD-SD connection after backup.
-Item: 40 Include JobID in spool file name
-
Summary:
Item: 1 Accurate restoration of renamed/deleted files
Item: 2 Implement a Bacula GUI/management tool.
Item: 15 Multiple threads in file daemon for the same job
Item: 16 Add Plug-ins to the FileSet Include statements.
Item: 17 Restore only file attributes (permissions, ACL, owner, group...)
-Item: 18* Quick release of FD-SD connection after backup.
+Item: 18 Quick release of FD-SD connection after backup.
Item: 19 Implement a Python interface to the Bacula catalog.
Item: 20 Archive data
Item: 21 Split documentation
Item: 37 Add an item to the restore option where you can select a pool
Item: 38 Include timestamp of job launch in "stat clients" output
Item: 39 Message mailing based on backup types
-Item: 40* Include JobID in spool file name
+Item: 40 Include JobID in spool file name
Item 1: Accurate restoration of renamed/deleted files
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2006 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.
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2006 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.
Director {
Name = rufus-dir
DIRport = 8101
- address = rufus
+ address = localhost
Password = UA_password
}
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2006 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.
}
void operator delete[](void *ptr, size_t i)
{
- (void)i; /* eliminate compiler complaints */
free(ptr);
}
void operator delete(void *ptr, const char *fname, int line)
{
- (void)fname; (void)line; /* eliminate compiler complaints */
free(ptr);
}
void operator delete[](void *ptr, size_t i, const char *fname, int line)
{
- (void)i; (void)fname; (void)line; /* eliminate compiler complaints */
free(ptr);
}
private:
-void *operator new(size_t s) throw() { (void)s; return 0; }
-void *operator new[](size_t s) throw() { (void)s; return 0; }
+void *operator new(size_t s) throw() { return 0; }
+void *operator new[](size_t s) throw() { return 0; }
};
+++ /dev/null
-ui_main.h
-*.o
-bat
-about-func
-brestore.ui
-main.qrc
-mult-inheritance
-print-func
-qrc_main.cpp
-moc_*.cpp
+++ /dev/null
-#############################################################################
-# Makefile for building: bat
-# Generated by qmake (2.01a) (Qt 4.2.1) on: Mon Jan 29 12:01:29 2007
-# Project: bat.pro
-# Template: app
-# Command: /usr/bin/qmake -unix -o Makefile bat.pro
-#############################################################################
-
-####### Compiler, tools and options
-
-CC = gcc
-CXX = g++
-LEX = flex
-YACC = yacc
-DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
-CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
-CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
-LEXFLAGS =
-YACCFLAGS = -d
-INCPATH = -I/usr/share/qt4/mkspecs/default -I. -I/usr/include/QtCore -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtGui -I/usr/include -I. -Iconsole -I.. -I. -I.
-LINK = g++
-LFLAGS =
-LIBS = $(SUBLIBS) -L/usr/lib -L../lib -lbac -lssl -lcrypto -lQtGui -L/usr/lib -L/usr/X11R6/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXfixes -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -ldl -lpthread
-AR = ar cqs
-RANLIB =
-QMAKE = /usr/bin/qmake
-TAR = tar -cf
-COMPRESS = gzip -9f
-COPY = cp -f
-COPY_FILE = $(COPY)
-COPY_DIR = $(COPY) -r
-INSTALL_FILE = install -m 644 -p
-INSTALL_DIR = $(COPY_DIR)
-INSTALL_PROGRAM = install -m 755 -p
-DEL_FILE = rm -f
-SYMLINK = ln -sf
-DEL_DIR = rmdir
-MOVE = mv -f
-CHK_DIR_EXISTS= test -d
-MKDIR = mkdir -p
-
-####### Output directory
-
-OBJECTS_DIR = ./
-
-####### Files
-
-SOURCES = main.cpp \
- bat_conf.cpp \
- mainwin.cpp \
- console/authenticate.cpp \
- console/console.cpp moc_mainwin.cpp \
- moc_console.cpp \
- qrc_main.cpp
-OBJECTS = main.o \
- bat_conf.o \
- mainwin.o \
- authenticate.o \
- console.o \
- moc_mainwin.o \
- moc_console.o \
- qrc_main.o
-DIST = /usr/share/qt4/mkspecs/common/unix.conf \
- /usr/share/qt4/mkspecs/common/g++.conf \
- /usr/share/qt4/mkspecs/common/linux.conf \
- /usr/share/qt4/mkspecs/qconfig.pri \
- /usr/share/qt4/mkspecs/features/qt_functions.prf \
- /usr/share/qt4/mkspecs/features/qt_config.prf \
- /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
- /usr/share/qt4/mkspecs/features/default_pre.prf \
- /usr/share/qt4/mkspecs/features/release.prf \
- /usr/share/qt4/mkspecs/features/default_post.prf \
- /usr/share/qt4/mkspecs/features/warn_on.prf \
- /usr/share/qt4/mkspecs/features/qt.prf \
- /usr/share/qt4/mkspecs/features/unix/thread.prf \
- /usr/share/qt4/mkspecs/features/moc.prf \
- /usr/share/qt4/mkspecs/features/resources.prf \
- /usr/share/qt4/mkspecs/features/uic.prf \
- bat.pro
-QMAKE_TARGET = bat
-DESTDIR =
-TARGET = bat
-
-first: all
-####### Implicit rules
-
-.SUFFIXES: .o .c .cpp .cc .cxx .C
-
-.cpp.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.cc.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.cxx.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.C.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.c.o:
- $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
-
-####### Build rules
-
-all: Makefile $(TARGET)
-
-$(TARGET): ui_main.h $(OBJECTS)
- $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
-
-Makefile: bat.pro /usr/share/qt4/mkspecs/default/qmake.conf /usr/share/qt4/mkspecs/common/unix.conf \
- /usr/share/qt4/mkspecs/common/g++.conf \
- /usr/share/qt4/mkspecs/common/linux.conf \
- /usr/share/qt4/mkspecs/qconfig.pri \
- /usr/share/qt4/mkspecs/features/qt_functions.prf \
- /usr/share/qt4/mkspecs/features/qt_config.prf \
- /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
- /usr/share/qt4/mkspecs/features/default_pre.prf \
- /usr/share/qt4/mkspecs/features/release.prf \
- /usr/share/qt4/mkspecs/features/default_post.prf \
- /usr/share/qt4/mkspecs/features/warn_on.prf \
- /usr/share/qt4/mkspecs/features/qt.prf \
- /usr/share/qt4/mkspecs/features/unix/thread.prf \
- /usr/share/qt4/mkspecs/features/moc.prf \
- /usr/share/qt4/mkspecs/features/resources.prf \
- /usr/share/qt4/mkspecs/features/uic.prf \
- /usr/lib/libQtGui.prl \
- /usr/lib/libQtCore.prl
- $(QMAKE) -unix -o Makefile bat.pro
-/usr/share/qt4/mkspecs/common/unix.conf:
-/usr/share/qt4/mkspecs/common/g++.conf:
-/usr/share/qt4/mkspecs/common/linux.conf:
-/usr/share/qt4/mkspecs/qconfig.pri:
-/usr/share/qt4/mkspecs/features/qt_functions.prf:
-/usr/share/qt4/mkspecs/features/qt_config.prf:
-/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
-/usr/share/qt4/mkspecs/features/default_pre.prf:
-/usr/share/qt4/mkspecs/features/release.prf:
-/usr/share/qt4/mkspecs/features/default_post.prf:
-/usr/share/qt4/mkspecs/features/warn_on.prf:
-/usr/share/qt4/mkspecs/features/qt.prf:
-/usr/share/qt4/mkspecs/features/unix/thread.prf:
-/usr/share/qt4/mkspecs/features/moc.prf:
-/usr/share/qt4/mkspecs/features/resources.prf:
-/usr/share/qt4/mkspecs/features/uic.prf:
-/usr/lib/libQtGui.prl:
-/usr/lib/libQtCore.prl:
-qmake: FORCE
- @$(QMAKE) -unix -o Makefile bat.pro
-
-dist:
- @$(CHK_DIR_EXISTS) .tmp/bat1.0.0 || $(MKDIR) .tmp/bat1.0.0
- $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/bat1.0.0/ && $(COPY_FILE) --parents mainwin.h bat.h bat_conf.h console/console.h .tmp/bat1.0.0/ && $(COPY_FILE) --parents main.qrc .tmp/bat1.0.0/ && $(COPY_FILE) --parents main.cpp bat_conf.cpp mainwin.cpp console/authenticate.cpp console/console.cpp .tmp/bat1.0.0/ && $(COPY_FILE) --parents main.ui .tmp/bat1.0.0/ && (cd `dirname .tmp/bat1.0.0` && $(TAR) bat1.0.0.tar bat1.0.0 && $(COMPRESS) bat1.0.0.tar) && $(MOVE) `dirname .tmp/bat1.0.0`/bat1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/bat1.0.0
-
-
-yaccclean:
-lexclean:
-clean:compiler_clean
- -$(DEL_FILE) $(OBJECTS)
- -$(DEL_FILE) *~ core *.core
-
-
-####### Sub-libraries
-
-distclean: clean
- -$(DEL_FILE) $(TARGET)
- -$(DEL_FILE) Makefile
-
-
-/usr/bin/moc:
- (cd $(QTDIR)/src/tools/moc && $(MAKE))
-
-mocclean: compiler_moc_header_clean compiler_moc_source_clean
-
-mocables: compiler_moc_header_make_all compiler_moc_source_make_all
-
-compiler_moc_header_make_all: moc_mainwin.cpp moc_console.cpp
-compiler_moc_header_clean:
- -$(DEL_FILE) moc_mainwin.cpp moc_console.cpp
-moc_mainwin.cpp: ui_main.h \
- mainwin.h \
- /usr/bin/moc
- /usr/bin/moc $(DEFINES) $(INCPATH) mainwin.h -o moc_mainwin.cpp
-
-moc_console.cpp: console/console.h \
- /usr/bin/moc
- /usr/bin/moc $(DEFINES) $(INCPATH) console/console.h -o moc_console.cpp
-
-compiler_rcc_make_all: qrc_main.cpp
-compiler_rcc_clean:
- -$(DEL_FILE) qrc_main.cpp
-qrc_main.cpp: main.qrc \
- /usr/bin/rcc \
- images/new.png \
- images/disconnected.png \
- images/label.png \
- images/server.png \
- images/restore.png \
- images/copy.png \
- images/cut.png \
- images/connected.png \
- images/big-server.png \
- images/save.png \
- images/bat.png \
- images/paste.png \
- images/run.png \
- images/open.png
- /usr/bin/rcc -name main main.qrc -o qrc_main.cpp
-
-compiler_image_collection_make_all: qmake_image_collection.cpp
-compiler_image_collection_clean:
- -$(DEL_FILE) qmake_image_collection.cpp
-compiler_moc_source_make_all:
-compiler_moc_source_clean:
-compiler_uic_make_all: ui_main.h
-compiler_uic_clean:
- -$(DEL_FILE) ui_main.h
-ui_main.h: main.ui
- /usr/bin/uic main.ui -o ui_main.h
-
-compiler_clean: compiler_moc_header_clean compiler_rcc_clean compiler_image_collection_clean compiler_moc_source_clean compiler_uic_clean
-
-####### Compile
-
-main.o: main.cpp bat.h \
- mainwin.h \
- ui_main.h \
- bat_conf.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
-
-bat_conf.o: bat_conf.cpp bat_conf.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o bat_conf.o bat_conf.cpp
-
-mainwin.o: mainwin.cpp bat.h \
- mainwin.h \
- ui_main.h \
- bat_conf.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwin.o mainwin.cpp
-
-authenticate.o: console/authenticate.cpp bat.h \
- mainwin.h \
- ui_main.h \
- bat_conf.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o authenticate.o console/authenticate.cpp
-
-console.o: console/console.cpp bat.h \
- mainwin.h \
- ui_main.h \
- bat_conf.h \
- console/console.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o console.o console/console.cpp
-
-moc_mainwin.o: moc_mainwin.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwin.o moc_mainwin.cpp
-
-moc_console.o: moc_console.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_console.o moc_console.cpp
-
-qrc_main.o: qrc_main.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_main.o qrc_main.cpp
-
-####### Install
-
-install: FORCE
-
-uninstall: FORCE
-
-FORCE:
-
+++ /dev/null
-
-This directory contains the Bacula Admin Tool (bat).
-
-At the current time, the contents of this directory are under
-development. If you want to help, please contact Kern directly.
-If you want to build it, you need Qt4 loaded and setup as your
-default Qt or with the appropriate Qt Environment variables set.
-
-To build bat, you simply enter:
-
- qmake
- make
-
-then to execute it
-
- ./bat
-
-The qmake command needs to be entered only if you add a new file, in
-which case, you should edit bat.pro and add the new filename
-in the appropriate place. In running qmake, it will build a new
-Makefile, and there after, you simply use "make". In fact, providing
-you edit bat.pro, doing a "make" will automatically call qmake to
-rebuild the Makefile.
-
-Development status as of 29 Jan 07.
-
-Items implemented:
-- Reads a basic bat.conf (same as documented for the gnome-console
- except that the Font part is unimplemented).
-- Basic main window structure
-- About dialog
-- Quit menu item
-- Connect button (initally shows disconnected) will connect to
- the first Director defined in the conf file.
-- The Director name will appear in the Selection tree followed
- by Console and Restore.
-- Clicking on Console brings forward the console display screen
- (default at startup).
-- Clicking on Restore brings up a dummy two tab "restore" page.
-- The command line is implemented.
-- The status line (below the command line) is implemented.
-
-Items not implemented:
-- None of the menu items except About, Quit.
-- None of the tool bar icons except the connect/disconnect.
-- Nothing on the restore page
-
-Design/implementation considerations:
-- We need to have multiple Directors
-- Each Director should have its own console
-- The Console class needs to be a list or be attached to the
- currently active Director.
-- Need icons in front of the Director.
-- Need indication if a director is connected or not.
-- The console page should be in a DockWidget so it can be removed
- from the main window.
-- Need to figure out a good implementation of adding pages and even
- having plugins that load as pages. Currently the page mechanism
- is a bit kludged.
-- Each page should in principle be a separate designer .ui file
- Currently the two pages console, restore are part of main.ui,
- but they should be pulled out into their own .ui files.
-
-Design decisions:
-- If possible all windows will be created with designer and have
- a name such as xxxForm i.e. the main window is MainForm and kept
- in main.ui.
-- If possible all code for a particular component will be kept in
- and appropriate subdirectory.
-- All private class variables are named "m_xxx" this makes it very
- clear if one is referencing a class variable or a local.
-- All signal/slots are connected by explict code (most all are
- done in the MainWin constructor), rather than using designer.
-
-
+++ /dev/null
-#
-# Bacula User Agent (or Console) Configuration File
-#
-
-Director {
- Name = rufus-dir
- DIRport = 8101
- address = localhost
- Password = UA_password
-}
+++ /dev/null
-
-#ifndef _BAT_H_
-#define _BAT_H_
-
-#include "mainwin.h"
-#include "config.h"
-#include "bacula.h"
-#include "bat_conf.h"
-#include "jcr.h"
-#include "console.h"
-
-extern MainWin *mainWin;
-extern QApplication *app;
-
-void set_textf(const char *fmt, ...);
-void set_text(const char *buf);
-
-int bvsnprintf(char *str, int32_t size, const char *format, va_list ap);
-
-#endif /* _BAT_H_ */
+++ /dev/null
-######################################################################
-# Automatically generated by qmake (2.01a) Thu Jan 18 09:40:56 2007
-######################################################################
-
-TEMPLATE = app
-TARGET = bat
-DEPENDPATH += .
-INCLUDEPATH += . ./console
-INCLUDEPATH += ..
-LIBS += -L../lib
-LIBS += -lbac
-LIBS += -lssl -lcrypto
-RESOURCES = main.qrc
-
-# Main directory
-FORMS += main.ui
-HEADERS += mainwin.h bat.h bat_conf.h
-SOURCES += main.cpp bat_conf.cpp mainwin.cpp
-
-# Console
-HEADERS += console/console.h
-SOURCES += console/authenticate.cpp console/console.cpp
+++ /dev/null
-/*
- * Main configuration file parser for Bacula User Agent
- * some parts may be split into separate files such as
- * the schedule configuration (sch_config.c).
- *
- * Note, the configuration file parser consists of three parts
- *
- * 1. The generic lexical scanner in lib/lex.c and lib/lex.h
- *
- * 2. The generic config scanner in lib/parse_config.c and
- * lib/parse_config.h.
- * These files contain the parser code, some utility
- * routines, and the common store routines (name, int,
- * string).
- *
- * 3. The daemon specific file, which contains the Resource
- * definitions as well as any specific store routines
- * for the resource records.
- *
- * Kern Sibbald, January MM, September MM
- *
- * Version $Id$
- */
-/*
- Bacula® - The Network Backup Solution
-
- 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.
- 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.
-
- 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
- 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.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-*/
-
-#include "bacula.h"
-#include "bat_conf.h"
-
-/* Define the first and last resource ID record
- * types. Note, these should be unique for each
- * daemon though not a requirement.
- */
-int r_first = R_FIRST;
-int r_last = R_LAST;
-static RES *sres_head[R_LAST - R_FIRST + 1];
-RES **res_head = sres_head;
-
-/* Forward referenced subroutines */
-
-
-/* We build the current resource here as we are
- * scanning the resource configuration definition,
- * then move it to allocated memory when the resource
- * scan is complete.
- */
-URES res_all;
-int res_all_size = sizeof(res_all);
-
-/* Definition of records permitted within each
- * resource with the routine to process the record
- * information.
- */
-static RES_ITEM dir_items[] = {
- {"name", store_name, ITEM(dir_res.hdr.name), 0, ITEM_REQUIRED, 0},
- {"description", store_str, ITEM(dir_res.hdr.desc), 0, 0, 0},
- {"dirport", store_int, ITEM(dir_res.DIRport), 0, ITEM_DEFAULT, 9101},
- {"address", store_str, ITEM(dir_res.address), 0, ITEM_REQUIRED, 0},
- {"password", store_password, ITEM(dir_res.password), 0, 0, 0},
- {"tlsenable", store_bit, ITEM(dir_res.tls_enable), 1, 0, 0},
- {"tlsrequire", store_bit, ITEM(dir_res.tls_require), 1, 0, 0},
- {"tlscacertificatefile", store_dir, ITEM(dir_res.tls_ca_certfile), 0, 0, 0},
- {"tlscacertificatedir", store_dir, ITEM(dir_res.tls_ca_certdir), 0, 0, 0},
- {"tlscertificate", store_dir, ITEM(dir_res.tls_certfile), 0, 0, 0},
- {"tlskey", store_dir, ITEM(dir_res.tls_keyfile), 0, 0, 0},
- {NULL, NULL, {0}, 0, 0, 0}
-};
-
-static RES_ITEM con_items[] = {
- {"name", store_name, ITEM(con_res.hdr.name), 0, ITEM_REQUIRED, 0},
- {"description", store_str, ITEM(con_res.hdr.desc), 0, 0, 0},
- {"password", store_password, ITEM(con_res.password), 0, ITEM_REQUIRED, 0},
- {"tlsenable", store_bit, ITEM(con_res.tls_enable), 1, 0, 0},
- {"tlsrequire", store_bit, ITEM(con_res.tls_require), 1, 0, 0},
- {"tlscacertificatefile", store_dir, ITEM(con_res.tls_ca_certfile), 0, 0, 0},
- {"tlscacertificatedir", store_dir, ITEM(con_res.tls_ca_certdir), 0, 0, 0},
- {"tlscertificate", store_dir, ITEM(con_res.tls_certfile), 0, 0, 0},
- {"tlskey", store_dir, ITEM(con_res.tls_keyfile), 0, 0, 0},
- {NULL, NULL, {0}, 0, 0, 0}
-};
-
-static RES_ITEM con_font_items[] = {
- {"name", store_name, ITEM(con_font.hdr.name), 0, ITEM_REQUIRED, 0},
- {"description", store_str, ITEM(con_font.hdr.desc), 0, 0, 0},
- {"font", store_str, ITEM(con_font.fontface), 0, 0, 0},
- {"requiressl", store_bit, ITEM(con_font.require_ssl), 1, ITEM_DEFAULT, 0},
- {NULL, NULL, {0}, 0, 0, 0}
-};
-
-
-/*
- * This is the master resource definition.
- * It must have one item for each of the resources.
- */
-RES_TABLE resources[] = {
- {"director", dir_items, R_DIRECTOR},
- {"console", con_items, R_CONSOLE},
- {"consolefont", con_font_items, R_CONSOLE_FONT},
- {NULL, NULL, 0}
-};
-
-
-/* Dump contents of resource */
-void dump_resource(int type, RES *reshdr, void sendit(void *sock, const char *fmt, ...), void *sock)
-{
- URES *res = (URES *)reshdr;
- bool recurse = true;
-
- if (res == NULL) {
- printf(_("No record for %d %s\n"), type, res_to_str(type));
- return;
- }
- if (type < 0) { /* no recursion */
- type = - type;
- recurse = false;
- }
- switch (type) {
- case R_DIRECTOR:
- printf(_("Director: name=%s address=%s DIRport=%d\n"), reshdr->name,
- res->dir_res.address, res->dir_res.DIRport);
- break;
- case R_CONSOLE:
- printf(_("Console: name=%s\n"), reshdr->name);
- break;
- case R_CONSOLE_FONT:
- printf(_("ConsoleFont: name=%s font face=%s\n"),
- reshdr->name, NPRT(res->con_font.fontface));
- break;
- default:
- printf(_("Unknown resource type %d\n"), type);
- }
- if (recurse && res->dir_res.hdr.next) {
- dump_resource(type, res->dir_res.hdr.next, sendit, sock);
- }
-}
-
-/*
- * Free memory of resource.
- * NB, we don't need to worry about freeing any references
- * to other resources as they will be freed when that
- * resource chain is traversed. Mainly we worry about freeing
- * allocated strings (names).
- */
-void free_resource(RES *sres, int type)
-{
- RES *nres;
- URES *res = (URES *)sres;
-
- if (res == NULL)
- return;
-
- /* common stuff -- free the resource name */
- nres = (RES *)res->dir_res.hdr.next;
- if (res->dir_res.hdr.name) {
- free(res->dir_res.hdr.name);
- }
- if (res->dir_res.hdr.desc) {
- free(res->dir_res.hdr.desc);
- }
-
- switch (type) {
- case R_DIRECTOR:
- if (res->dir_res.address) {
- free(res->dir_res.address);
- }
- if (res->dir_res.tls_ctx) {
- free_tls_context(res->dir_res.tls_ctx);
- }
- if (res->dir_res.tls_ca_certfile) {
- free(res->dir_res.tls_ca_certfile);
- }
- if (res->dir_res.tls_ca_certdir) {
- free(res->dir_res.tls_ca_certdir);
- }
- if (res->dir_res.tls_certfile) {
- free(res->dir_res.tls_certfile);
- }
- if (res->dir_res.tls_keyfile) {
- free(res->dir_res.tls_keyfile);
- }
- break;
- case R_CONSOLE:
- if (res->con_res.password) {
- free(res->con_res.password);
- }
- if (res->con_res.tls_ctx) {
- free_tls_context(res->con_res.tls_ctx);
- }
- if (res->con_res.tls_ca_certfile) {
- free(res->con_res.tls_ca_certfile);
- }
- if (res->con_res.tls_ca_certdir) {
- free(res->con_res.tls_ca_certdir);
- }
- if (res->con_res.tls_certfile) {
- free(res->con_res.tls_certfile);
- }
- if (res->con_res.tls_keyfile) {
- free(res->con_res.tls_keyfile);
- }
- break;
- case R_CONSOLE_FONT:
- if (res->con_font.fontface) {
- free(res->con_font.fontface);
- }
- break;
- default:
- printf(_("Unknown resource type %d\n"), type);
- }
- /* Common stuff again -- free the resource, recurse to next one */
- free(res);
- if (nres) {
- free_resource(nres, type);
- }
-}
-
-/* Save the new resource by chaining it into the head list for
- * the resource. If this is pass 2, we update any resource
- * pointers (currently only in the Job resource).
- */
-void save_resource(int type, RES_ITEM *items, int pass)
-{
- URES *res;
- int rindex = type - r_first;
- int i, size = 0;
- int error = 0;
-
- /*
- * Ensure that all required items are present
- */
- for (i=0; items[i].name; i++) {
- if (items[i].flags & ITEM_REQUIRED) {
- if (!bit_is_set(i, res_all.dir_res.hdr.item_present)) {
- Emsg2(M_ABORT, 0, _("%s item is required in %s resource, but not found.\n"),
- items[i].name, resources[rindex]);
- }
- }
- }
-
- /* During pass 2, we looked up pointers to all the resources
- * referrenced in the current resource, , now we
- * must copy their address from the static record to the allocated
- * record.
- */
- if (pass == 2) {
- switch (type) {
- /* Resources not containing a resource */
- case R_DIRECTOR:
- break;
-
- case R_CONSOLE:
- case R_CONSOLE_FONT:
- break;
-
- default:
- Emsg1(M_ERROR, 0, _("Unknown resource type %d\n"), type);
- error = 1;
- break;
- }
- /* Note, the resoure name was already saved during pass 1,
- * so here, we can just release it.
- */
- if (res_all.dir_res.hdr.name) {
- free(res_all.dir_res.hdr.name);
- res_all.dir_res.hdr.name = NULL;
- }
- if (res_all.dir_res.hdr.desc) {
- free(res_all.dir_res.hdr.desc);
- res_all.dir_res.hdr.desc = NULL;
- }
- return;
- }
-
- /* The following code is only executed during pass 1 */
- switch (type) {
- case R_DIRECTOR:
- size = sizeof(DIRRES);
- break;
- case R_CONSOLE_FONT:
- size = sizeof(CONFONTRES);
- break;
- case R_CONSOLE:
- size = sizeof(CONRES);
- break;
- default:
- printf(_("Unknown resource type %d\n"), type);
- error = 1;
- break;
- }
- /* Common */
- if (!error) {
- res = (URES *)malloc(size);
- memcpy(res, &res_all, size);
- if (!res_head[rindex]) {
- res_head[rindex] = (RES *)res; /* store first entry */
- } else {
- RES *next, *last;
- /* Add new res to end of chain */
- for (last=next=res_head[rindex]; next; next=next->next) {
- last = next;
- if (strcmp(next->name, res->dir_res.hdr.name) == 0) {
- Emsg2(M_ERROR_TERM, 0,
- _("Attempt to define second %s resource named \"%s\" is not permitted.\n"),
- resources[rindex].name, res->dir_res.hdr.name);
- }
- }
- last->next = (RES *)res;
- Dmsg2(90, "Inserting %s res: %s\n", res_to_str(type),
- res->dir_res.hdr.name);
- }
- }
-}
+++ /dev/null
-/*
- * Bacula Adminstration Tool (bat)
- *
- * Kern Sibbald, March 2002
- *
- * Version $Id$
- */
-/*
- Bacula® - The Network Backup Solution
-
- Copyright (C) 2002-2006 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.
-
- 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
- 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.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-*/
-
-#ifndef _BAT_CONF_H_
-#define _BAT_CONF_H_
-
-/*
- * Resource codes -- they must be sequential for indexing
- */
-
-enum {
- R_DIRECTOR = 1001,
- R_CONSOLE,
- R_CONSOLE_FONT,
- R_FIRST = R_DIRECTOR,
- R_LAST = R_CONSOLE_FONT /* Keep this updated */
-};
-
-/*
- * Some resource attributes
- */
-enum {
- R_NAME = 1020,
- R_ADDRESS,
- R_PASSWORD,
- R_TYPE,
- R_BACKUP
-};
-
-
-/* Definition of the contents of each Resource */
-struct DIRRES {
- RES hdr;
- int DIRport; /* UA server port */
- char *address; /* UA server address */
- char *password; /* UA server password */
- int tls_enable; /* Enable TLS */
- int tls_require; /* Require TLS */
- char *tls_ca_certfile; /* TLS CA Certificate File */
- char *tls_ca_certdir; /* TLS CA Certificate Directory */
- char *tls_certfile; /* TLS Client Certificate File */
- char *tls_keyfile; /* TLS Client Key File */
-
- TLS_CONTEXT *tls_ctx; /* Shared TLS Context */
-
- /* Methods */
- char *name() const;
-};
-
-inline char *DIRRES::name() const { return hdr.name; }
-
-struct CONFONTRES {
- RES hdr;
- char *fontface; /* Console Font specification */
- int require_ssl; /* Require SSL on all connections */
-};
-
-struct CONRES {
- RES hdr;
- char *password; /* UA server password */
- int tls_enable; /* Enable TLS on all connections */
- int tls_require; /* Require TLS on all connections */
- char *tls_ca_certfile; /* TLS CA Certificate File */
- char *tls_ca_certdir; /* TLS CA Certificate Directory */
- char *tls_certfile; /* TLS Client Certificate File */
- char *tls_keyfile; /* TLS Client Key File */
-
- TLS_CONTEXT *tls_ctx; /* Shared TLS Context */
-};
-
-
-/* Define the Union of all the above
- * resource structure definitions.
- */
-union u_res {
- DIRRES dir_res;
- CONRES con_res;
- CONFONTRES con_font;
- RES hdr;
-};
-
-typedef union u_res URES;
-
-#endif /* _BAT_CONF_H_ */
+++ /dev/null
-/*
- Bacula® - The Network Backup Solution
-
- Copyright (C) 2001-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.
- 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.
-
- 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
- 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.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-*/
-
-/*
- *
- * Bacula UA authentication. Provides authentication with
- * the Director.
- *
- * Kern Sibbald, June MMI adapted to bat, Jan MMVI
- *
- * Version $Id$
- *
- */
-
-
-#include "bat.h"
-
-
-/* Commands sent to Director */
-static char hello[] = "Hello %s calling\n";
-
-/* Response from Director */
-static char OKhello[] = "1000 OK:";
-
-/* Forward referenced functions */
-
-/*
- * Authenticate Director
- */
-bool Console::authenticate_director(JCR *jcr, DIRRES *director, CONRES *cons)
-{
- BSOCK *dir = jcr->dir_bsock;
- int tls_local_need = BNET_TLS_NONE;
- int tls_remote_need = BNET_TLS_NONE;
- int compatible = true;
- char bashed_name[MAX_NAME_LENGTH];
- char *password;
-
- /*
- * Send my name to the Director then do authentication
- */
- if (cons) {
- bstrncpy(bashed_name, cons->hdr.name, sizeof(bashed_name));
- bash_spaces(bashed_name);
- password = cons->password;
- } else {
- bstrncpy(bashed_name, "*UserAgent*", sizeof(bashed_name));
- password = director->password;
- }
- /* Timeout Hello after 5 mins */
- btimer_t *tid = start_bsock_timer(dir, 60 * 5);
- bnet_fsend(dir, hello, bashed_name);
-
- /* respond to Dir challenge */
- if (!cram_md5_respond(dir, password, &tls_remote_need, &compatible) ||
- /* Now challenge dir */
- !cram_md5_challenge(dir, password, tls_local_need, compatible)) {
- stop_bsock_timer(tid);
- printf(_("%s: Director authorization problem.\n"), my_name);
- set_text(_("Director authorization problem.\n"));
- set_text(_(
- "Please see http://www.bacula.org/rel-manual/faq.html#AuthorizationErrors for help.\n"));
- return false;
- }
-
- Dmsg1(6, ">dird: %s", dir->msg);
- if (bnet_recv(dir) <= 0) {
- stop_bsock_timer(tid);
- set_textf(_("Bad response to Hello command: ERR=%s\n"),
- bnet_strerror(dir));
- printf(_("%s: Bad response to Hello command: ERR=%s\n"),
- my_name, bnet_strerror(dir));
- set_text(_("The Director is probably not running.\n"));
- return false;
- }
- stop_bsock_timer(tid);
- Dmsg1(10, "<dird: %s", dir->msg);
- if (strncmp(dir->msg, OKhello, sizeof(OKhello)-1) != 0) {
- set_text(_("Director rejected Hello command\n"));
- return false;
- } else {
- set_text(dir->msg);
- }
- return true;
-}
+++ /dev/null
-/*
- Bacula® - The Network Backup Solution
-
- 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.
- 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.
-
- 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
- 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.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-*/
-
-/*
- * Console Class
- *
- * Kern Sibbald, January MMVI
- *
- */
-
-#include <QAbstractEventDispatcher>
-#include "bat.h"
-#include "console.h"
-
-Console::Console()
-{
- QFont font;
- QTreeWidgetItem *item, *topItem;
- QTreeWidget *treeWidget = mainWin->treeWidget;
-
- m_sock = NULL;
- m_at_prompt = false;
- m_textEdit = mainWin->textEdit; /* our console screen */
- m_cursor = new QTextCursor(m_textEdit->document());
- mainWin->actionConnect->setIcon(QIcon(QString::fromUtf8("images/disconnected.png")));
-
- /* ***FIXME*** make this configurable */
- font.setFamily("Courier");
- font.setFixedPitch(true);
- font.setPointSize(10);
- m_textEdit->setFont(font);
-
- /* Just take the first Director */
- LockRes();
- m_dir = (DIRRES *)GetNextRes(R_DIRECTOR, NULL);
- UnlockRes();
-
- /* Dummy setup of treeWidget */
- treeWidget->clear();
- treeWidget->setColumnCount(1);
- treeWidget->setHeaderLabel("Selection");
- topItem = new QTreeWidgetItem(treeWidget);
- topItem->setText(0, m_dir->name());
- topItem->setIcon(0, QIcon(QString::fromUtf8("images/server.png")));
- item = new QTreeWidgetItem(topItem);
- m_consoleItem = item;
- item->setText(0, "Console");
- item->setText(1, "0");
- QBrush redBrush(Qt::red);
- item->setForeground(0, redBrush);
- item = new QTreeWidgetItem(topItem);
- item->setText(0, "Restore");
- item->setText(1, "1");
- treeWidget->expandItem(topItem);
-}
-
-/*
- * Connect to Director. If there are more than one, put up
- * a modal dialog so that the user chooses one.
- */
-void Console::connect()
-{
- JCR jcr;
-
- m_textEdit = mainWin->textEdit; /* our console screen */
-
- if (!m_dir) {
- mainWin->set_status("No Director found.");
- return;
- }
- if (m_sock) {
- mainWin->set_status("Already connected.");
- return;
- }
-
- memset(&jcr, 0, sizeof(jcr));
-
- mainWin->set_statusf(_(" Connecting to Director %s:%d"), m_dir->address, m_dir->DIRport);
- set_textf(_("Connecting to Director %s:%d\n\n"), m_dir->address, m_dir->DIRport);
-
- /* Give GUI a chance */
- app->processEvents();
-
- LockRes();
- /* If cons==NULL, default console will be used */
- CONRES *cons = (CONRES *)GetNextRes(R_CONSOLE, (RES *)NULL);
- UnlockRes();
-
- m_sock = bnet_connect(NULL, 5, 15, _("Director daemon"), m_dir->address,
- NULL, m_dir->DIRport, 0);
- if (m_sock == NULL) {
- mainWin->set_status("Connection failed");
- return;
- } else {
- mainWin->actionConnect->setIcon(QIcon(QString::fromUtf8("images/connected.png")));
- QBrush greenBrush(Qt::green);
- m_consoleItem->setForeground(0, greenBrush);
- }
-
-
- jcr.dir_bsock = m_sock;
-
- if (!authenticate_director(&jcr, m_dir, cons)) {
- set_text(m_sock->msg);
- return;
- }
-
- /* Give GUI a chance */
- app->processEvents();
-
- mainWin->set_status(_(" Initializing ..."));
-
- bnet_fsend(m_sock, "autodisplay on");
-
- /* Set up input notifier */
- m_notifier = new QSocketNotifier(m_sock->fd, QSocketNotifier::Read, 0);
- QObject::connect(m_notifier, SIGNAL(activated(int)), this, SLOT(read_dir(int)));
-
- /* Give GUI a chance */
- app->processEvents();
-
- /* *** FIXME ***
- * Query Directory for .jobs, .clients, .filesets, .msgs,
- * .pools, .storage, .types, .levels, ...
- */
-
- mainWin->set_status(_(" Connected"));
- return;
-}
-#ifdef xxx
- QByteArray bytes = m_Bash->readAllStandardOutput();
- QStringList lines = QString(bytes).split("\n");
- foreach (QString line, lines) {
- m_Logw->append(line);
- }
-#endif
-
-void Console::set_textf(const char *fmt, ...)
-{
- va_list arg_ptr;
- char buf[1000];
- int len;
- va_start(arg_ptr, fmt);
- len = bvsnprintf(buf, sizeof(buf), fmt, arg_ptr);
- va_end(arg_ptr);
- set_text(buf);
-}
-
-void Console::set_text(const QString buf)
-{
- m_cursor->movePosition(QTextCursor::End);
- m_cursor->insertText(buf);
- m_textEdit->moveCursor(QTextCursor::End);
- m_textEdit->ensureCursorVisible();
-}
-
-
-void Console::set_text(const char *buf)
-{
- m_cursor->movePosition(QTextCursor::End);
- m_cursor->insertText(buf);
- m_textEdit->moveCursor(QTextCursor::End);
- m_textEdit->ensureCursorVisible();
-}
-
-
-void Console::write_dir(const char *msg)
-{
- if (m_sock) {
- m_at_prompt = false;
- mainWin->set_status(_(" Processing command ..."));
- QApplication::setOverrideCursor(Qt::WaitCursor);
- m_sock->msglen = strlen(msg);
- pm_strcpy(&m_sock->msg, msg);
- bnet_send(m_sock);
- } else {
- mainWin->set_status(" Director not connected. Click on connect button.");
- mainWin->actionConnect->setIcon(QIcon(QString::fromUtf8("images/disconnected.png")));
- QBrush redBrush(Qt::red);
- m_consoleItem->setForeground(0, redBrush);
- }
-}
-
-void Console::read_dir(int fd)
-{
- int stat;
- (void)fd;
-
- if (!m_sock) {
- return;
- }
- stat = bnet_recv(m_sock);
- if (stat >= 0) {
- if (m_at_prompt) {
- set_text("\n");
- m_at_prompt = false;
- }
- set_text(m_sock->msg);
- return;
- }
- if (is_bnet_stop(m_sock)) { /* error or term request */
- bnet_close(m_sock);
- m_sock = NULL;
- mainWin->actionConnect->setIcon(QIcon(QString::fromUtf8("images/disconnected.png")));
- QBrush redBrush(Qt::red);
- m_consoleItem->setForeground(0, redBrush);
- m_notifier->setEnabled(false);
- delete m_notifier;
- m_notifier = NULL;
- mainWin->set_status(_(" Director disconnected."));
- QApplication::restoreOverrideCursor();
- return;
- }
- /* Must be a signal -- either do something or ignore it */
- if (m_sock->msglen == BNET_PROMPT) {
- m_at_prompt = true;
- mainWin->set_status(_(" At prompt waiting for input ..."));
- QApplication::restoreOverrideCursor();
- }
- if (m_sock->msglen == BNET_EOD) {
- mainWin->set_status_ready();
- QApplication::restoreOverrideCursor();
- }
- return;
-}
-
-#ifdef xxx
-
-static gint tag;
-
-void start_director_reader(gpointer data)
-{
-
- if (director_reader_running || !UA_sock) {
- return;
- }
- tag = gdk_input_add(UA_sock->fd, GDK_INPUT_READ, read_director, NULL);
- director_reader_running = true;
-}
-
-void stop_director_reader(gpointer data)
-{
- if (!director_reader_running) {
- return;
- }
- gdk_input_remove(tag);
- director_reader_running = false;
-}
-#endif
+++ /dev/null
-
-#ifndef _CONSOLE_H_
-#define _CONSOLE_H_
-
-#include <QtGui>
-
-class DIRRES;
-class BSOCK;
-class JCR;
-class CONRES;
-
-class Console : public QWidget
-{
- Q_OBJECT
-
-public:
- Console();
- void set_text(const char *buf);
- void set_text(const QString buf);
- void set_textf(const char *fmt, ...);
- void write_dir(const char *buf);
- bool authenticate_director(JCR *jcr, DIRRES *director, CONRES *cons);
- bool is_connected() { return m_sock != NULL; };
-
-public slots:
- void connect();
- void read_dir(int fd);
-
-private:
- QTextEdit *m_textEdit;
- DIRRES *m_dir;
- BSOCK *m_sock;
- bool m_at_prompt;
- QSocketNotifier *m_notifier;
- QTextCursor *m_cursor;
- QTreeWidgetItem *m_consoleItem;
-};
-
-#endif /* _CONSOLE_H_ */
+++ /dev/null
-/*
- Bacula® - The Network Backup Solution
-
- Copyright (C) 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.
- 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.
-
- 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
- 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.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-*/
-
-/*
- * Main program for bat (qt-console)
- *
- * Kern Sibbald, January MMVI
- *
- */
-
-
-#include <QApplication>
-#include "bat.h"
-
-
-/* Forward referenced functions */
-void terminate_console(int sig);
-static void usage();
-static int check_resources();
-
-#define CONFIG_FILE "./bat.conf" /* default configuration file */
-
-/* Static variables */
-static char *configfile = NULL;
-
-MainWin *mainWin;
-QApplication *app;
-
-
-int main(int argc, char *argv[])
-{
-
- int ch;
- bool no_signals = true;
- bool test_config = false;
-
-
- app = new QApplication(argc, argv);
- app->setQuitOnLastWindowClosed(true);
-
-
-#ifdef ENABLE_NLS
- setlocale(LC_ALL, "");
- bindtextdomain("bacula", LOCALEDIR);
- textdomain("bacula");
-#endif
-
- init_stack_dump();
- my_name_is(argc, argv, "gnome-console");
- init_msg(NULL, NULL);
- working_directory = "/tmp";
-
- struct sigaction sigignore;
- sigignore.sa_flags = 0;
- sigignore.sa_handler = SIG_IGN;
- sigfillset(&sigignore.sa_mask);
- sigaction(SIGPIPE, &sigignore, NULL);
-
- while ((ch = getopt(argc, argv, "bc:d:r:st?")) != -1) {
- switch (ch) {
- case 'c': /* configuration file */
- if (configfile != NULL) {
- free(configfile);
- }
- configfile = bstrdup(optarg);
- break;
-
- case 'd':
- debug_level = atoi(optarg);
- if (debug_level <= 0)
- debug_level = 1;
- break;
-
- case 's': /* turn off signals */
- no_signals = true;
- break;
-
- case 't':
- test_config = true;
- break;
-
- case '?':
- default:
- usage();
- }
- }
- argc -= optind;
- argv += optind;
-
-
- if (!no_signals) {
- init_signals(terminate_console);
- }
-
- if (argc) {
- usage();
- }
-
- if (configfile == NULL) {
- configfile = bstrdup(CONFIG_FILE);
- }
-
- parse_config(configfile);
-
- if (init_crypto() != 0) {
- Emsg0(M_ERROR_TERM, 0, _("Cryptography library initialization failed.\n"));
- }
-
- if (!check_resources()) {
- Emsg1(M_ERROR_TERM, 0, _("Please correct configuration file: %s\n"), configfile);
- }
-
- mainWin = new MainWin;
- mainWin->show();
-
- return app->exec();
-}
-
-void terminate_console(int sig)
-{
- (void)sig; /* avoid compiler complaints */
- exit(0);
-}
-
-static void usage()
-{
- fprintf(stderr, _(
-PROG_COPYRIGHT
-"\nVersion: %s (%s) %s %s %s\n\n"
-"Usage: bat [-s] [-c config_file] [-d debug_level] [config_file]\n"
-" -c <file> set configuration file to file\n"
-" -dnn set debug level to nn\n"
-" -s no signals\n"
-" -t test - read configuration and exit\n"
-" -? print this message.\n"
-"\n"), 2007, VERSION, BDATE, HOST_OS, DISTNAME, DISTVER);
-
- exit(1);
-}
-
-#ifdef xxx
-/*
- * Call-back for reading a passphrase for an encrypted PEM file
- * This function uses getpass(), which uses a static buffer and is NOT thread-safe.
- */
-static int tls_pem_callback(char *buf, int size, const void *userdata)
-{
-#ifdef HAVE_TLS
- const char *prompt = (const char *) userdata;
- char *passwd;
-
- passwd = getpass(prompt);
- bstrncpy(buf, passwd, size);
- return (strlen(buf));
-#else
- buf[0] = 0;
- return 0;
-#endif
-}
-#endif
-
-
-/*
- * Make a quick check to see that we have all the
- * resources needed.
- */
-static int check_resources()
-{
- bool ok = true;
- DIRRES *director;
- int numdir;
-
- LockRes();
-
- numdir = 0;
- foreach_res(director, R_DIRECTOR) {
- numdir++;
- /* tls_require implies tls_enable */
- if (director->tls_require) {
- if (have_tls) {
- director->tls_enable = true;
- } else {
- Jmsg(NULL, M_FATAL, 0, _("TLS required but not configured in Bacula.\n"));
- ok = false;
- continue;
- }
- }
-
- if ((!director->tls_ca_certfile && !director->tls_ca_certdir) && director->tls_enable) {
- Emsg2(M_FATAL, 0, _("Neither \"TLS CA Certificate\""
- " or \"TLS CA Certificate Dir\" are defined for Director \"%s\" in %s."
- " At least one CA certificate store is required.\n"),
- director->hdr.name, configfile);
- ok = false;
- }
- }
-
- if (numdir == 0) {
- Emsg1(M_FATAL, 0, _("No Director resource defined in %s\n"
- "Without that I don't how to speak to the Director :-(\n"), configfile);
- ok = false;
- }
-
- CONRES *cons;
- /* Loop over Consoles */
- foreach_res(cons, R_CONSOLE) {
- /* tls_require implies tls_enable */
- if (cons->tls_require) {
- if (have_tls) {
- cons->tls_enable = true;
- } else {
- Jmsg(NULL, M_FATAL, 0, _("TLS required but not configured in Bacula.\n"));
- ok = false;
- continue;
- }
- }
-
- if ((!cons->tls_ca_certfile && !cons->tls_ca_certdir) && cons->tls_enable) {
- Emsg2(M_FATAL, 0, _("Neither \"TLS CA Certificate\""
- " or \"TLS CA Certificate Dir\" are defined for Console \"%s\" in %s.\n"),
- cons->hdr.name, configfile);
- ok = false;
- }
- }
-
- UnlockRes();
-
- return ok;
-}
+++ /dev/null
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>images/copy.png</file>
- <file>images/cut.png</file>
- <file>images/new.png</file>
- <file>images/open.png</file>
- <file>images/paste.png</file>
- <file>images/save.png</file>
- <file>images/bat.png</file>
- <file>images/connected.png</file>
- <file>images/disconnected.png</file>
- <file>images/run.png</file>
- <file>images/restore.png</file>
- <file>images/server.png</file>
- <file>images/label.png</file>
- <file>images/big-server.png</file>
-</qresource>
-</RCC>
+++ /dev/null
-<ui version="4.0" >
- <author>Kern Sibbald</author>
- <class>MainForm</class>
- <widget class="QMainWindow" name="MainForm" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>1038</width>
- <height>802</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>bat - Bacula Admin Tool</string>
- </property>
- <property name="windowIcon" >
- <iconset>images/bat.png</iconset>
- </property>
- <widget class="QWidget" name="centralwidget" >
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
- <widget class="QSplitter" name="splitter" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <widget class="QDockWidget" name="dockWidget" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>7</vsizetype>
- <horstretch>1</horstretch>
- <verstretch>1</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize" >
- <size>
- <width>200</width>
- <height>100</height>
- </size>
- </property>
- <property name="maximumSize" >
- <size>
- <width>400</width>
- <height>16777215</height>
- </size>
- </property>
- <widget class="QWidget" name="dockWidgetContents" >
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
- <widget class="QTreeWidget" name="treeWidget" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>7</vsizetype>
- <horstretch>1</horstretch>
- <verstretch>1</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize" >
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- <property name="sizeIncrement" >
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip" >
- <string>Selects right panel</string>
- </property>
- <property name="autoFillBackground" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- <widget class="QStackedWidget" name="stackedWidget" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>7</vsizetype>
- <horstretch>200</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="sizeIncrement" >
- <size>
- <width>1</width>
- <height>0</height>
- </size>
- </property>
- <property name="currentIndex" >
- <number>0</number>
- </property>
- <widget class="QWidget" name="pageConsole" >
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
- <widget class="QTextEdit" name="textEdit" >
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>7</vsizetype>
- <horstretch>200</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize" >
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- <property name="sizeIncrement" >
- <size>
- <width>1</width>
- <height>0</height>
- </size>
- </property>
- <property name="focusPolicy" >
- <enum>Qt::NoFocus</enum>
- </property>
- <property name="acceptDrops" >
- <bool>false</bool>
- </property>
- <property name="toolTip" >
- <string comment="Console Window" />
- </property>
- <property name="statusTip" >
- <string comment="Console Window" />
- </property>
- <property name="whatsThis" >
- <string comment="Console Window" />
- </property>
- <property name="documentTitle" >
- <string comment="Console Window" />
- </property>
- <property name="lineWrapMode" >
- <enum>QTextEdit::NoWrap</enum>
- </property>
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="Restore" >
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
- <widget class="QTabWidget" name="tabWidget" >
- <property name="currentIndex" >
- <number>0</number>
- </property>
- <widget class="QWidget" name="restore_1" >
- <attribute name="title" >
- <string>Restore 1</string>
- </attribute>
- </widget>
- <widget class="QWidget" name="restore_2" >
- <attribute name="title" >
- <string>Restore 2</string>
- </attribute>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </widget>
- </item>
- <item row="1" column="0" >
- <layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Command:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="lineEdit" />
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <widget class="QMenuBar" name="menubar" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>1038</width>
- <height>33</height>
- </rect>
- </property>
- <widget class="QMenu" name="menuEdit" >
- <property name="title" >
- <string>&Edit</string>
- </property>
- <addaction name="actionCopy" />
- <addaction name="actionCut" />
- <addaction name="actionPaste" />
- </widget>
- <widget class="QMenu" name="menuFile" >
- <property name="title" >
- <string>&File</string>
- </property>
- <addaction name="actionPrint" />
- <addaction name="actionSave" />
- <addaction name="actionQuit" />
- </widget>
- <widget class="QMenu" name="menuHelp" >
- <property name="title" >
- <string>&Help</string>
- </property>
- <addaction name="actionAbout_bat" />
- </widget>
- <addaction name="menuFile" />
- <addaction name="menuEdit" />
- <addaction name="menuHelp" />
- </widget>
- <widget class="QStatusBar" name="statusbar" >
- <property name="toolTip" >
- <string>Current Status</string>
- </property>
- <property name="statusTip" >
- <string>Current Status</string>
- </property>
- </widget>
- <widget class="QToolBar" name="toolBar" >
- <property name="minimumSize" >
- <size>
- <width>51</width>
- <height>39</height>
- </size>
- </property>
- <property name="toolTip" >
- <string>Tool Bar</string>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <attribute name="toolBarArea" >
- <number>4</number>
- </attribute>
- <addaction name="actionConnect" />
- <addaction name="actionSave" />
- <addaction name="actionPrint" />
- <addaction name="actionLabel" />
- <addaction name="actionRestore" />
- <addaction name="actionRun" />
- </widget>
- <action name="actionQuit" >
- <property name="text" >
- <string>&Quit</string>
- </property>
- <property name="shortcut" >
- <string>Ctrl+Q</string>
- </property>
- <property name="menuRole" >
- <enum>QAction::QuitRole</enum>
- </property>
- </action>
- <action name="actionAbout_bat" >
- <property name="icon" >
- <iconset>images/bat.png</iconset>
- </property>
- <property name="text" >
- <string>&About bat</string>
- </property>
- </action>
- <action name="actionCopy" >
- <property name="icon" >
- <iconset>images/copy.png</iconset>
- </property>
- <property name="text" >
- <string>&Copy</string>
- </property>
- </action>
- <action name="actionCut" >
- <property name="icon" >
- <iconset>images/cut.png</iconset>
- </property>
- <property name="text" >
- <string>Cu&t</string>
- </property>
- </action>
- <action name="actionNew" >
- <property name="icon" >
- <iconset>images/new.png</iconset>
- </property>
- <property name="text" >
- <string>new</string>
- </property>
- </action>
- <action name="actionOpen" >
- <property name="icon" >
- <iconset>images/open.png</iconset>
- </property>
- <property name="text" >
- <string>open</string>
- </property>
- </action>
- <action name="actionPaste" >
- <property name="icon" >
- <iconset>images/paste.png</iconset>
- </property>
- <property name="text" >
- <string>&Paste</string>
- </property>
- </action>
- <action name="actionPrint" >
- <property name="icon" >
- <iconset>images/print.png</iconset>
- </property>
- <property name="text" >
- <string>&Print</string>
- </property>
- <property name="statusTip" >
- <string>Print</string>
- </property>
- </action>
- <action name="actionSave" >
- <property name="icon" >
- <iconset>images/save.png</iconset>
- </property>
- <property name="text" >
- <string>&Save</string>
- </property>
- <property name="statusTip" >
- <string>Save (not implemented)</string>
- </property>
- </action>
- <action name="actionConnect" >
- <property name="icon" >
- <iconset>images/disconnected.png</iconset>
- </property>
- <property name="text" >
- <string>Connect</string>
- </property>
- <property name="statusTip" >
- <string>Connect/disconnect</string>
- </property>
- </action>
- <action name="actionLabel" >
- <property name="icon" >
- <iconset>images/label.png</iconset>
- </property>
- <property name="text" >
- <string>Label</string>
- </property>
- <property name="toolTip" >
- <string>Label a Volume</string>
- </property>
- <property name="statusTip" >
- <string>Label a Volume</string>
- </property>
- </action>
- <action name="actionRestore" >
- <property name="icon" >
- <iconset>images/restore.png</iconset>
- </property>
- <property name="text" >
- <string>Restore</string>
- </property>
- <property name="statusTip" >
- <string>Restore Files</string>
- </property>
- </action>
- <action name="actionRun" >
- <property name="checked" >
- <bool>false</bool>
- </property>
- <property name="icon" >
- <iconset>images/run.png</iconset>
- </property>
- <property name="text" >
- <string>Run Job</string>
- </property>
- <property name="iconText" >
- <string>Run Job</string>
- </property>
- <property name="toolTip" >
- <string>Run Job</string>
- </property>
- <property name="statusTip" >
- <string>Run a Job</string>
- </property>
- </action>
- </widget>
- <resources>
- <include location="main.qrc" />
- </resources>
- <connections/>
-</ui>
+++ /dev/null
-/*
- Bacula® - The Network Backup Solution
-
- 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.
- 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.
-
- 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
- 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.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-*/
-
-/*
- * Main Window control for bat (qt-console)
- *
- * Kern Sibbald, January MMVI
- *
- */
-
-#include "bat.h"
-
-MainWin::MainWin(QWidget *parent) : QMainWindow(parent)
-{
- mainWin = this;
- setupUi(this); /* Setup UI defined by main.ui (designer) */
- stackedWidget->setCurrentIndex(0);
-
- statusBar()->showMessage("Director not connected. Click on connect button.");
-
- m_console = new Console();
-
- lineEdit->setFocus();
-
- /* Connect signals to slots */
- connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(input_line()));
- connect(actionAbout_bat, SIGNAL(triggered()), this, SLOT(about()));
-
- connect(treeWidget, SIGNAL(itemActivated(QTreeWidgetItem *, int)), this,
- SLOT(treeItemClicked(QTreeWidgetItem *, int)));
- connect(treeWidget, SIGNAL(itemClicked(QTreeWidgetItem *, int)), this,
- SLOT(treeItemClicked(QTreeWidgetItem *, int)));
- connect(treeWidget, SIGNAL(itemPressed(QTreeWidgetItem *, int)), this,
- SLOT(treeItemClicked(QTreeWidgetItem *, int)));
- connect(actionQuit, SIGNAL(triggered()), app, SLOT(closeAllWindows()));
- connect(actionConnect, SIGNAL(triggered()), m_console, SLOT(connect()));
-
-}
-
-void MainWin::treeItemClicked(QTreeWidgetItem *item, int column)
-{
- (void)column;
- int index = item->text(1).toInt();
- if (index >= 0 && index < 2) {
- stackedWidget->setCurrentIndex(index);
- }
-}
-
-
-/*
- * The user just finished typing a line in the command line edit box
- */
-void MainWin::input_line()
-{
- QString cmdStr = lineEdit->text(); /* Get the text */
- lineEdit->clear(); /* clear the lineEdit box */
- if (m_console->is_connected()) {
- m_console->set_text(cmdStr + "\n");
- m_console->write_dir(cmdStr.toUtf8().data()); /* send to dir */
- } else {
- set_status("Director not connected. Click on connect button.");
- }
-}
-
-
-void MainWin::about()
-{
- QMessageBox::about(this, tr("About bat"),
- tr("<br><h2>bat 0.1</h2>"
- "<p>Copyright © " BYEAR " Free Software Foundation Europe e.V."
- "<p>The <b>bat</b> is an administrative console"
- " interface to the Director."));
-}
-
-void MainWin::set_statusf(const char *fmt, ...)
-{
- va_list arg_ptr;
- char buf[1000];
- int len;
- va_start(arg_ptr, fmt);
- len = bvsnprintf(buf, sizeof(buf), fmt, arg_ptr);
- va_end(arg_ptr);
- set_status(buf);
-// set_scroll_bar_to_end();
-}
-
-void MainWin::set_status_ready()
-{
- set_status("Ready");
-// set_scroll_bar_to_end();
-}
-
-void MainWin::set_status(const char *buf)
-{
- statusBar()->showMessage(buf);
-// ready = false;
-}
+++ /dev/null
-/*
- Bacula® - The Network Backup Solution
-
- 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.
- 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.
-
- 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
- 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.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-*/
-
-/*
- * qt-console main window class definition.
- *
- * Written by Kern Sibbald, January MMVI
- */
-
-#ifndef _MAINWIN_H_
-#define _MAINWIN_H_
-
-#include <QtGui>
-#include "ui_main.h"
-
-class Console;
-
-class MainWin : public QMainWindow, public Ui::MainForm
-{
- Q_OBJECT
-
-public:
- MainWin(QWidget *parent = 0);
- void set_statusf(const char *fmt, ...);
- void set_status_ready();
- void set_status(const char *buf);
-
-public slots:
- void input_line();
- void about();
- void treeItemClicked(QTreeWidgetItem *item, int column);
-
-private:
- QString m_UserInput;
- Console *m_console;
-};
-
-#endif /* _MAINWIN_H_ */
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2006 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.
/* Responses sent to the File daemon */
static char OK_data[] = "3000 OK data\n";
-static char OK_append[] = "3000 OK append data\n";
/* Forward referenced functions */
}
}
- /* Create Job status for end of session label */
- set_jcr_job_status(jcr, ok?JS_Terminated:JS_ErrorTerminated);
-
- /* Terminate connection with FD */
- bnet_fsend(ds, OK_append);
- do_fd_commands(jcr); /* finish dialog with FD */
-
-
time_t job_elapsed = time(NULL) - jcr->run_time;
if (job_elapsed <= 0) {
job_elapsed / 3600, job_elapsed % 3600 / 60, job_elapsed % 60,
edit_uint64_with_suffix(jcr->JobBytes / job_elapsed, ec));
+ /* Create Job status for end of session label */
+ set_jcr_job_status(jcr, ok?JS_Terminated:JS_ErrorTerminated);
Dmsg1(200, "Write EOS label JobStatus=%c\n", jcr->JobStatus);
Pmsg0(000, _("NULL Volume name. This shouldn't happen!!!\n"));
}
-
-
if (!ok) {
discard_data_spool(dcr);
} else {
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2006 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.
static char OK_end[] = "3000 OK end\n";
static char OK_close[] = "3000 OK close Status = %d\n";
static char OK_open[] = "3000 OK open ticket = %d\n";
+static char OK_append[] = "3000 OK append data\n";
static char ERROR_append[] = "3903 Error append data\n";
static char OK_bootstrap[] = "3000 OK bootstrap\n";
static char ERROR_bootstrap[] = "3904 Error bootstrap\n";
/*
* Run a File daemon Job -- File daemon already authorized
- * Director sends us this command.
*
* Basic task here is:
* - Read a command from the File daemon
*/
void run_job(JCR *jcr)
{
+ int i;
+ bool found, quit;
+ BSOCK *fd = jcr->file_bsock;
BSOCK *dir = jcr->dir_bsock;
char ec1[30];
+
+ fd->jcr = jcr;
dir->jcr = jcr;
Dmsg1(120, "Start run Job=%s\n", jcr->Job);
bnet_fsend(dir, Job_start, jcr->Job);
jcr->run_time = jcr->start_time;
set_jcr_job_status(jcr, JS_Running);
dir_send_job_status(jcr); /* update director */
- do_fd_commands(jcr);
- jcr->end_time = time(NULL);
- dequeue_messages(jcr); /* send any queued messages */
- set_jcr_job_status(jcr, JS_Terminated);
- generate_daemon_event(jcr, "JobEnd");
- bnet_fsend(dir, Job_end, jcr->Job, jcr->JobStatus, jcr->JobFiles,
- edit_uint64(jcr->JobBytes, ec1));
- bnet_sig(dir, BNET_EOD); /* send EOD to Director daemon */
- return;
-}
-
-/*
- * Now talk to the FD and do what he says
- */
-void do_fd_commands(JCR *jcr)
-{
- int i;
- bool found, quit;
- BSOCK *fd = jcr->file_bsock;
-
- fd->jcr = jcr;
for (quit=false; !quit;) {
int stat;
}
}
bnet_sig(fd, BNET_TERMINATE); /* signal to FD job is done */
+ jcr->end_time = time(NULL);
+ dequeue_messages(jcr); /* send any queued messages */
+ set_jcr_job_status(jcr, JS_Terminated);
+ generate_daemon_event(jcr, "JobEnd");
+ bnet_fsend(dir, Job_end, jcr->Job, jcr->JobStatus, jcr->JobFiles,
+ edit_uint64(jcr->JobBytes, ec1));
+ bnet_sig(dir, BNET_EOD); /* send EOD to Director daemon */
+ return;
}
+
/*
* Append Data command
* Open Data Channel and receive Data for archiving
Dmsg1(110, "<bfiled: %s", fd->msg);
jcr->JobType = JT_BACKUP;
if (do_append_data(jcr)) {
- return true;
-#ifdef xxx
return bnet_fsend(fd, OK_append);
-#endif
} else {
bnet_suppress_error_messages(fd, 1); /* ignore errors at this point */
bnet_fsend(fd, ERROR_append);
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2006 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.
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2006 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.
/* From fd_cmds.c */
void run_job(JCR *jcr);
-bool get_bootstrap_file(JCR *jcr, BSOCK *bsock);
-void do_fd_commands(JCR *jcr);
+bool get_bootstrap_file(JCR *jcr, BSOCK *bsock);
/* From job.c */
void stored_free_jcr(JCR *jcr);
*/
#undef VERSION
-#define VERSION "2.1.1"
+#define VERSION "2.0.2"
#define BDATE "28 January 2007"
#define LSMDATE "28Jan07"
#define TRACE_FILE 1
/* If this is set stdout will not be closed on startup */
-#define DEVELOPER 1
+/* #define DEVELOPER 1 */
#define DATA_ENCRYPTION 1
>\r
</File>\r
<File\r
- RelativePath="..\..\findlib\protos.h"\r
+ RelativePath="..\..\lib\protos.h"\r
>\r
</File>\r
<File\r
- RelativePath="..\..\lib\protos.h"\r
+ RelativePath="..\..\findlib\protos.h"\r
>\r
</File>\r
<File\r
--- /dev/null
+ Technical notes on version 2.0
+
+General:
+Version 2.0.2 released: xx January 2007
+28Jan08
+kes Fix maxruntime bug #621.
+27Jan07
+kes Get current main CVS .specs for RedHat, SuSE, Mandrake.
+26Jan07
+ebl Implement the include JobID in spool file name project.
+kes Reorder projects file in order determined by Jan 2007 vote.
+kes Fix open of SQLite3 db where user does not have write permission
+ so that DIR does not crash. Fixes bug #761.
+25Jan07
+kes Change 'Device not configured to autolabel' from INFO
+ to WARNING.
+kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
+ which should restart an indefinite # of times.
+kes Fix configure --help to print --with-mysql[=DIR]. Same for
+ other DIR specifications.
+23Jan07
+rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
+ Fix path quoting in SQLite scripts.
+ Fix problems with SHGetFolderPath.
+19Jan07
+kes Create patches/2.0.1-restart.patch. Fixes bug #755.
+18Jan07
+kes Fix Job restart on error bug that promotes an Inc to a Full
+ backup. This should fix bug #755.
+
+Version 2.0.1 released: 14 January 2007
+12Jan07
+kes Fix Bacula->Documentation link on Win32 to point to index.html
+ instead of bacula.html. Fixed bug #750.
+kes Return JobId in db_get_job_record() when JobId==0. This should
+ fix bug #741.
+kes Do not release source pointers when restarting a failed job.
+11Jan07
+kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
+ This *should* fix bug #747.
+kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
+ bug #742.
+09Jan07
+kes Modify USTORE constructor to set an empty store_source string,
+ and don't copy the store_source string in a cancel. Hopefully
+ this will fix Arno's seg fault, bug #744.
+kes Add back code to disable conio in configure. Fixes bug #743.
+kes Correct the Options scanner in the FD to correctly handle
+ SHA1 option, which was eating the next option. Reported by
+ Sebastien Guilbaud.
+kes Add code to indicate when the SD is spooling, spool wait, and
+ despooling as requested by Alan Brown.
+
+Version 2.0.0 released: 4 January 2007
+++ /dev/null
- Technical notes on version 2.1
-
-General:
-28Jan08
-kes Fix maxruntime bug #621.
-26Jan07
-ebl Implement the include JobID in spool file name project.
-kes Reorder projects file in order determined by Jan 2007 vote.
-kes Implement item #12 on project list -- quick release of FD by
- the SD.
-kes Fix open of SQLite3 db where user does not have write permission
- so that DIR does not crash. Fixes bug #761.
-25Jan07
-kes Add back missing @ in Win32 Makefile.
-kes Change 'Device not configured to autolabel' from INFO
- to WARNING.
-kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
- which should restart an indefinite # of times.
-kes Fix configure --help to print --with-mysql[=DIR]. Same for
- other DIR specifications.
-23Jan07
-rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
- Fix path quoting in SQLite scripts.
- Fix problems with SHGetFolderPath.
-19Jan07
-kes Create patches/2.0.1-restart.patch. Fixes bug #755.
-18Jan07
-kes Fix Job restart on error bug that promotes an Inc to a Full
- backup. This should fix bug #755.
-kes Add qt-console and first cut of code.
-
-Version 2.0.1
-12Jan07
-kes Fix Bacula->Documentation link on Win32 to point to index.html
- instead of bacula.html. Fixed bug #750.
-kes Return JobId in db_get_job_record() when JobId==0. This should
- fix bug #741.
-kes Do not release source pointers when restarting a failed job.
-11Jan07
-kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
- This *should* fix bug #747.
-kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
- bug #742.
-09Jan07
-kes Modify USTORE constructor to set an empty store_source string,
- and don't copy the store_source string in a cancel. Hopefully
- this will fix Arno's seg fault, bug #744.
-kes Add back code to disable conio in configure. Fixes bug #743.
-kes Correct the Options scanner in the FD to correctly handle
- SHA1 option, which was eating the next option. Reported by
- Sebastien Guilbaud.
-kes Add code to indicate when the SD is spooling, spool wait, and
- despooling as requested by Alan Brown.
-
-Version 2.0.0 released: 4 January 2007
+++ /dev/null
-config.out
-build
-bin
-test.out
-weird-files
-weird-files2
-diff
-tmp
-working
-Makefile
-test1.out
-time.out
+++ /dev/null
-#
-# Makefile for Bacula regression testing
-#
-# Note, Makefile is built from Makefile.in, which you should not really
-# need to change, by envoking:
-#
-# ./config <user's configuration>
-# e.g.
-#
-# ./config kern.conf
-#
-#
-
-# suck in user's configuration
-@CONFIG@
-
-first_rule: all
-
-all:
-
-setup: bacula sed
-
-#
-# Some machines cannot handle the sticky bit and other garbage that
-# is in weird-files, so we load and run it only on Linux machines.
-#
-bacula: all
- @rm -rf bin build weird-files tmp
- (if test x`uname` = xLinux -o x`uname` = xFreeBSD ; then \
- tar xfz weird-files.tar.gz ;\
- fi)
- rm -rf tmp working
- mkdir tmp working
- echo "Doing: scripts/setup ${BACULA_SOURCE} ${EMAIL} ${WHICHDB} ${TCPWRAPPERS} ${OPENSSL}"
- scripts/setup ${BACULA_SOURCE} ${EMAIL} ${WHICHDB} ${TCPWRAPPERS} ${SMTP_HOST} ${OPENSSL}
-
-sed:
- echo "Doing: scripts/do_sed ${EMAIL} ${TAPE_DRIVE} ${AUTOCHANGER} ${AUTOCHANGER_PATH} ${TAPE_DRIVE1} ${SMTP_HOST}"
- scripts/do_sed ${EMAIL} ${TAPE_DRIVE} ${AUTOCHANGER} ${AUTOCHANGER_PATH} ${TAPE_DRIVE1} ${SMTP_HOST}
-
-# Run all non-root userid tests
-test:
- ./all-non-root-tests
-
-# run all file and tape tests
-full_test:
- ./all-tape-and-file-tests
-
-# These tests require you to run as root
-root_test:
- ./all-root-tests
-
-clean:
- scripts/cleanup
- rm -f /tmp/file-list
- rm -fr tmp/* working/*
- rm -f test.out
- rm -f diff
- rm -f 1 2 3 scripts/1 scripts/2 scripts/3 tests/1 tests/2 tests/3
- find . -name .#* -exec rm -rf {} \;
-
-# Reset our userid after running as root
-reset:
- chown -R ${USER}:${USER} . tmp working
- scripts/cleanup
- rm -f /tmp/file-list tmp/file-list
- rm -f tmp/* working/*
-
-distclean: clean
- rm -rf bin build weird-files weird-files weird-files2 tmp working
- rm -f scripts/*.conf
-
+++ /dev/null
- Bacula Regression
- Kern Sibbald
-
-This is Bacula's regression script directory.
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-Warning!!!! Make sure not to run it on the same system
-with your production Catalog because the tables will all
-be cleared. You can run it on the your production system
-if you use a different database. E.g. if your production
-system uses MySQL, you can use SQLite here.
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-
-To set it up, create your personal configuration file, by
-copying prototype.conf to xxx.conf or simply editing prototype.conf
-directly.
-
-Then edit your conf file and define appropriate values
-for the variables that are in that file. If you want to see
-a real example, look at kern.conf, but please don't use my
-email address!
-
-If you are using SQLite, make sure that depkgs is pre-built if it
-isn't already: (cd your-depkgs; make sqlite).
-
-Note, if you use any database other than SQLite, be sure it is not
-your production database because Bacula will delete all the tables
-and recreate them. With SQLite, a new different database is created,
-so it will not affect your production system.
-
-Using the .conf file, you can now select between any Catalog type:
-SQLite, SQLite3, MySQL, or PostgreSQL. Be aware, however, if you
-use an installed database on a production server, running these
-tests will delete all the tables !!!!!!!!!!!!!!!!!! I run my
-tests on a non-production machine, and in addition, I normally use
-SQLite as the database, while my production uses MySQL.
-
-Then do:
-
- ./config xxx.conf
- make setup
-
-You run the above one time. This will build a Makefile from
-Makefile.in and your xxx.conf file, copy the Bacula source,
-configure, build it, and configure all the Bacula scripts
-and conf files. If you change your source, you will need to
-redo this command.
-
-Then you can run any of the tests in the tests subdirectory.
-Each test whose name ends in -root requires you to be root for
-a resonable run. Each test is totally independent of any other
-test. Aside from the required "make setup", each test is totally
-self-initalizing and should clean up after itself.
-
-All the tests expect you to execute them from the main regress
-directory!
-
-You can run all the disk based tests by doing:
-
- ./do_file
-
-The disk based tests are totally separate from any production
-system, provided you have configured the database appropriately
-as noted above.
-
-You can run all the disk and most of the tape tests by doing:
-
- ./do_all
-
-======== Important !!! ============
-When running the tape tests, Bacula will write on any tape that
-is in the tape drive that you have configured. If it is a production
-Bacula tape, it will be destroyed. If you have configured an Autochanger,
-Bacula will write on the tapes in slots 1 and 2 thus destroying any
-information on those tapes, even if they are Bacula production tapes.
-===================================
-
-Each of the above calls one or more scripts. By looking at the
-scripts available in this directory, you can see that there are a number
-of options for running tests.
-
-You can run them individually as:
-
- tests/two-jobs-test
-
-or all non-root tests (my normal testing under my account)
-
- ./all-non-root-tests
-
-or all tests (I only run these before a production release):
-
- su
- ./all-tests
-
-
-after running the root tests, while still root, it is a good idea
-to do:
-
- make reset
-
-this cleans up any files that may be created with root permissions.
-
-If you want to add more tests, do so by putting the shell script
-in the tests subdirectory. Be careful when adding (or better not)
-new clients, pools, and such to the test-bacula-dir.conf.in file
-as it may invalidate a good number of tests, which respond to
-questions by answering with a number (i.e. the order of the selection
-list is known). It might be better to add your own testb-bacula...
-configuration file.
-
-To avoid re-doing a make setup if you have made a change to the
-conf files, and you do not need a new copy of the source, you can simply do:
-
- make sed
-
-Debugging failed tests:
-The simplest thing to do is to edit tests/xxxx where xxxx is the name of
-the test, and change the line "set_debug 0" to "set_debug 1". If the test has
-not been updated to have the debug variable, please notify Kern, and I
-will be happy to fix it -- I am upgrading them one at a time.
-
-Also, if you run from time to time on a computer that is not connected
-to the network, please be sure that "hostname" is set to "localhost",
-otherwise, your tests may fail because the hostname used by Bacula's
-./configure cannot be properly resolved.
+++ /dev/null
-#!/bin/sh
-#
-# Run all tape tests
-#
-tests/test0
-tests/two-volume-tape
-tests/incremental-2tape
-echo " "
-echo " "
-echo "2 Tape Test results"
-cat test.out
-scripts/cleanup
+++ /dev/null
-#!/bin/sh
-#
-# Run all tape tests
-#
-. ./config.out
-if test ! x$AUTOCHANGER = x/dev/null ; then
- mtx -f $AUTOCHANGER load 1 >/dev/null &2>/dev/null
-fi
-cp test.out test1.out
-tests/test0
-tests/backup-bacula-tape
-tests/btape-fill-tape
-tests/fixed-block-size-tape
-tests/four-concurrent-jobs-tape
-tests/four-jobs-tape
-tests/incremental-tape
-tests/relabel-tape
-tests/restore-by-file-tape
-tests/small-file-size-tape
-tests/truncate-bug-tape
-tests/two-pool-tape
-tests/2drive-incremental-2tape
-tests/bscan-tape
-tests/verify-vol-tape
-echo " "
-echo " "
-echo "Test results"
-cat test.out
-scripts/cleanup
+++ /dev/null
-#!/bin/sh
-#
-# Run all tests
-#
-rm -f test1.out
-tests/test0
-echo " "
-tests/auto-label-test
-tests/backup-bacula-test
-tests/bextract-test
-tests/bscan-test
-tests/bsr-opt-test
-tests/compressed-test
-tests/compress-encrypt-test
-tests/concurrent-jobs-test
-tests/data-encrypt-test
-#tests/sparse-encrypt-test
-#tests/gigaslam-sparse-test
-tests/differential-test
-tests/four-concurrent-jobs-test
-tests/four-jobs-test
-tests/incremental-test
-tests/query-test
-tests/recycle-test
-tests/restore2-by-file-test
-tests/restore-by-file-test
-tests/restore-disk-seek-test
-tests/six-vol-test
-tests/span-vol-test
-tests/sparse-compressed-test
-tests/sparse-test
-tests/two-jobs-test
-tests/two-vol-test
-tests/verify-vol-test
-tests/weird-files2-test
-tests/weird-files-test
-tests/migration-job-test
-tests/migration-jobspan-test
-tests/migration-volume-test
-tests/migration-time-test
-tests/hardlink-test
-#
-# The following are Virtual Disk Autochanger tests
-tests/two-pool-test
-tests/two-volume-test
-tests/incremental-2disk
-tests/2drive-incremental-2disk
-tests/scratch-pool-test
-echo " "
-echo "Test results"
-cat test.out
-scripts/cleanup
+++ /dev/null
-#!/bin/sh
-#
-# Run all root tests
-#
-rm -f test.out
-tests/dev-test-root
-tests/etc-test-root
-tests/lib-test-root
-tests/usr-tape-root
-cat test.out
-scripts/cleanup
+++ /dev/null
-#!/bin/sh
-#
-# Run all tests
-#
-./all-non-root-tests
-./endtime
-./all-non-root-tape-tests
+++ /dev/null
-#!/bin/sh
-#
-# Run all tests
-#
-./all-non-root-tests
-./all-root-tests
-cat test.out
-scripts/cleanup
+++ /dev/null
-#/bin/sh
-#
-# First argument is expected to be a user's configuration file
-#
-if ! test -e $1 ; then
- echo "Arg1 must specify a config file (e.g. prototype.conf)"
- exit 1
-fi
-sed -e "/@CONFIG@/r $1" -e "s/@CONFIG@//" Makefile.in >Makefile
+++ /dev/null
-#!/bin/sh
-/home/kern/bacula/bin/startmysql
-make setup
-./starttime
-if [ ! -e bin/tape_options ] ; then
- touch bin/tape_options
-fi
-./all-tape-and-file-tests
-./endtime
-./all-non-root-2tape-tests
-./endtime
+++ /dev/null
-#!/bin/sh
-make setup
-./all-non-root-tape-tests
+++ /dev/null
-#!/bin/sh
-# /home/kern/bacula/bin/startmysql
-make setup
-./starttime
-./all-non-root-tests
-./endtime
+++ /dev/null
-#!/usr/bin/python
-from time import time as now
-
-t = now()
-fn = open('time.out', 'r')
-s = fn.readline()
-fn.close()
-diff = t - float(s)
-h = int(diff / 3600)
-m = int((diff - h * 3600) / 60)
-sec = diff - h * 3600 - m * 60
-print 'Total time = %d:%02d:%02d or %d secs' % (h, m, sec, t - float(s))
+++ /dev/null
-#!/bin/sh
-./all-non-root-tests
+++ /dev/null
-# Where to get the source to be tested
-# BACULA_SOURCE="${HOME}/bacula/branch-1.36.2"
-BACULA_SOURCE="${HOME}/bacula/k"
-
-# Where to send email !!!!! Change me !!!!!!!
-EMAIL=kern@sibbald.com
-SMTP_HOST="matou.sibbald.com"
-
-# Full "default" path where to find sqlite (no quotes!)
-SQLITE_DIR=${HOME}/bacula/depkgs/sqlite
-
-TAPE_DRIVE="/dev/nsa0"
-# if you don't have an autochanger set AUTOCHANGER to /dev/null
-AUTOCHANGER="/dev/sg0"
-# For two drive tests -- set to /dev/null if you do not have it
-TAPE_DRIVE1="/dev/null"
-
-# This must be the path to the autochanger including its name
-AUTOCHANGER_PATH="/usr/local/sbin/mtx"
-
-# Set your database here
-WHICHDB?="--with-sqlite=${SQLITE_DIR}"
-#WHICHDB="--with-mysql=${HOME}/mysql"
-
-# Set this to "--with-tcp-wrappers" or "--without-tcp-wrappers"
-TCPWRAPPERS="--with-tcp-wrappers"
-
-# Set this to "" to disable OpenSSL support, "--with-openssl=yes"
-# to enable it, or provide the path to the OpenSSL installation,
-# eg "--with-openssl=/usr/local"
-OPENSSL=""
+++ /dev/null
-# Where to get the source to be tested
-# BACULA_SOURCE="${HOME}/bacula/branch-1.38"
-#BACULA_SOURCE="${HOME}/bacula/bacula-1.39.22-20060908"
-BACULA_SOURCE="${HOME}/bacula/k"
-
-# Where to send email !!!!! Change me !!!!!!!
-EMAIL=kern@sibbald.com
-SMTP_HOST="localhost"
-
-# Full "default" path where to find sqlite (no quotes!)
-#SQLITE_DIR=${HOME}/bacula/depkgs/sqlite3
-SQLITE_DIR=${HOME}/bacula/depkgs/sqlite
-
-TAPE_DRIVE="/dev/nst0"
-# if you don't have an autochanger set AUTOCHANGER to /dev/null
-AUTOCHANGER="/dev/sg0"
-# For two drive tests -- set to /dev/null if you do not have it
-TAPE_DRIVE1="/dev/null"
-
-# This must be the path to the autochanger including its name
-AUTOCHANGER_PATH="/usr/sbin/mtx"
-
-# Set your database here
-#WHICHDB="--with-sqlite=${SQLITE_DIR}"
-WHICHDB="--with-mysql"
-#WHICHDB="--with-postgresql"
-#WHICHDB="--with-sqlite3=${SQLITE_DIR}"
-
-# Set this to "--with-tcp-wrappers" or "--without-tcp-wrappers"
-TCPWRAPPERS="--with-tcp-wrappers"
-
-# Set this to "" to disable OpenSSL support, "--with-openssl=yes"
-# to enable it, or provide the path to the OpenSSL installation,
-# eg "--with-openssl=/usr/local"
-OPENSSL="--with-openssl"
+++ /dev/null
-tests/btape-fill-full-tape
-tests/eot-fail-tape
+++ /dev/null
-#
-# Prototype personal configuration file for the regression
-# scripts. Either edit this file directly, or better copy
-# it elsewhere so it won't get overwritten.
-#
-
-#
-# Put the full path to the Bacula source code to be tested
-#
-BACULA_SOURCE=
-
-# Where to send email messages
-#
-EMAIL=
-SMTP_HOST=localhost
-
-# Full "default" path where to find sqlite.
-# This is only used if you do not specify a database override on the
-# make command.
-#
-# N.B. DON'T PUT QOUTES AROUND THE PATH.
-#
-SQLITE_DIR=${HOME}/bacula/depkgs/sqlite
-
-#
-# The device name of your tape drive if you have one
-#
-TAPE_DRIVE=/dev/nst0
-TAPE_DRIVE1=/dev/null
-
-#
-# if you don't have an autochanger set AUTOCHANGER to /dev/null
-#
-AUTOCHANGER=/dev/sg0
-
-#
-# This must be the path to the autochanger including its name
-#
-AUTOCHANGER_PATH=/bin/mtx
-
-# Set your database here
-WHICHDB="--with-sqlite=${SQLITE_DIR}"
-#WHICHDB="--with-mysql"
-#WHICHDB="--with-postgresql"
-
-# Set this to "--with-tcp-wrappers" or "--without-tcp-wrappers"
-TCPWRAPPERS="--with-tcp-wrappers"
-
-# Set this to "" to disable OpenSSL support, "--with-openssl=yes"
-# to enable it, or provide the path to the OpenSSL installation,
-# eg "--with-openssl=/usr/local"
-OPENSSL=""
+++ /dev/null
-#!/bin/sh
-bin/bacula start
-bin/bconsole -c bin/bconsole.conf
+++ /dev/null
-bacula-dir-migration.conf
-bacula-sd-migration.conf
-crypto-bacula-fd.conf
-new-test-bacula-dir.conf
-bacula-dir.conf
-bacula-fd.conf
-bacula-sd.conf
-console.conf
-bconsole.conf
-test-bacula-dir.conf
-test-bacula-fd.conf
-test-bacula-sd.conf
-test-console.conf
-testa-bacula-dir.conf
-bacula-dir-tape.conf
-bacula-sd-tape.conf
-bacula-sd-2tape.conf
-cleanup-tape
-cleanup-2tape
-prepare-two-tapes
-cleanup-2drive
-bacula-sd-2drive.conf
-bacula-sd-win32-tape.conf
-bacula-sd-2drive.conf
-bacula-dir-win32-tape.conf
-win32-bacula-dir-tape.conf
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.39
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-Job {
- Name = "migrate-job"
- Type = Migrate
- Level = Full
- Client=@hostname@-fd
- FileSet="Full Set"
- Messages = Standard
- Storage = DiskChanger
- Write Bootstrap = "@working_dir@/migratejob.bsr"
- Pool = Default
- Maximum Concurrent Jobs = 4
- Selection Type = Job
- Selection Pattern = ".*Save"
-}
-
-Job {
- Name = "migrate-volume"
- Type = Migrate
- Level = Full
- Client=@hostname@-fd
- FileSet="Full Set"
- Messages = Standard
- Storage = DiskChanger
- Write Bootstrap = "@working_dir@/migratevol.bsr"
- Pool = Default
- Maximum Concurrent Jobs = 4
- Selection Type = Volume
- Selection Pattern = "File*"
-}
-
-Job {
- Name = "migrate-occupancy"
- Type = Migrate
- Level = Full
- Client=@hostname@-fd
- FileSet="Full Set"
- Messages = Standard
- Storage = DiskChanger
- Write Bootstrap = "@working_dir@/migratejob.bsr"
- Pool = Default
- Maximum Concurrent Jobs = 4
- Selection Type = PoolOccupancy
-}
-
-Job {
- Name = "migrate-time"
- Type = Migrate
- Level = Full
- Client=@hostname@-fd
- FileSet="Full Set"
- Messages = Standard
- Storage = DiskChanger
- Write Bootstrap = "@working_dir@/migratejob.bsr"
- Pool = Default
- Maximum Concurrent Jobs = 4
- Selection Type = PoolTime
-}
-
-
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=MD5 }
- File = </tmp/file-list
- }
-}
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definition of DDS Virtual tape disk storage device
-Storage {
- Name = DiskChanger
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = DiskChanger # must be same as Device in Storage daemon
- Media Type = DiskChanger # must be same as MediaType in Storage daemon
- Maximum Concurrent Jobs = 4
- Autochanger = yes
-}
-
-# Definition of file storage device
-Storage {
- Name = File
- Address = @hostname@
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = FileStorage
- Media Type = File
- Maximum Concurrent Jobs = 5
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
- NextPool = Full
- Storage = File
- Migration High Bytes = 40M
- Migration Low Bytes = 20M
- Migration Time = 60
-}
-
-Pool {
- Name = Full
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
- Storage = DiskChanger
-}
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.33
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-Job {
- Name = "NightlySave1"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
- Client Run Before Job = "/bin/sleep 120"
-}
-
-Job {
- Name = "NightlySave2"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-Job {
- Name = "VerifyTape"
- Type = Verify
- Level = VolumeToCatalog
- Client=@hostname@-fd
- FileSet="Verify Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=MD5 }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "Verify Set"
- Include {
- Options {
- signature=MD5
- verify=pins1
- }
- File = </tmp/file-list
- }
-}
-
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definition of DDS tape storage device
-Storage {
- Name = DDS-4
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = DDS-4 # must be same as Device in Storage daemon
- Media Type = DDS-4 # must be same as MediaType in Storage daemon
- Maximum Concurrent Jobs = 4
-# Autochanger = yes
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
-
-Pool {
- Name = Full
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
-
-Pool {
- Name = Inc
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
-
-Pool {
- Name = Scratch
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.33
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=Tibs
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-}
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=Tibs
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Enable VSS = yes
- Include { Options { signature=MD5 }
- File = "c:"
- }
-}
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# Client (File Services) to backup
-Client {
- Name = Tibs
- Address = tibs
- FDPort = 9102
- Catalog = MyCatalog
- Password = "xBzFq+a9llZyGyfMaNO9e3outP86/1AUAT8P34RoT62G"
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definition of DDS tape storage device
-Storage {
- Name = DDS-4
- Address = 192.168.68.112 # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = DDS-4 # must be same as Device in Storage daemon
- Media Type = DDS-4 # must be same as MediaType in Storage daemon
- AutoChanger = yes
- Maximum Concurrent Jobs = 4
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.39.27 (24 October 2006) -- debian testing/unstable
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- SubSysDirectory = "@subsysdir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
- Messages = Standard
-}
-
-JobDefs {
- Name = "DefaultJob"
- Type = Backup
- Level = Incremental
- Client = @hostname@-fd
- FileSet = FS_TESTJOB
- Storage = File
- Messages = Standard
- Pool = Default
- Priority = 10
- Maximum Concurrent Jobs = 16
-}
-
-FileSet {
- Name = FS_TESTJOB
- Include {
- File=</tmp/file-list
- }
-}
-
-#dir: BeforeJob: run command "/bin/echo RunBeforeJob"
-#fd: ClientRunBeforeJob: ClientRunBeforeJob
-#fd: ClientAfterJob: run command "/bin/echo ClientRunAfterJob"
-#dir: AfterJob: run command "/bin/echo RunAfterJob"
-
-Job {
- Name = "RUN_ALL_OK"
- JobDefs = DefaultJob
- FileSet = FS_TESTJOB
- RunBeforeJob = "/bin/echo RunBeforeJob"
- ClientRunBeforeJob = "/bin/echo ClientRunBeforeJob"
- Run After Job = "/bin/echo RunAfterJob"
- ClientRunAfterJob = "/bin/echo ClientRunAfterJob"
-}
-
-#After job are after before job
-Job {
- Name = "RUN_DIR_FAILED_BUG"
- FileSet = FS_TESTJOB
- JobDefs = DefaultJob
- Run After Failed Job = "/bin/echo RunAfterFailedJob"
- RunBeforeJob = "/bin/false"
-}
-
-#@hostname@-dir: BeforeJob: run command "/bin/false"
-#@hostname@-dir: BeforeJob: RunAfterFailedJob
-Job {
- Name = "RUN_DIR_FAILED"
- FileSet = FS_TESTJOB
- JobDefs = DefaultJob
- RunBeforeJob = "/bin/false RUN_DIR_FAILED"
- Run After Failed Job = "/bin/echo RunAfterFailedJob"
-}
-
-#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED1"
-#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED2"
-#@hostname@-dir: AfterJob: run command "/bin/echo RunAfterFailedJob"
-Job {
- Name = "RUN_FD_FAILED"
- FileSet = FS_TESTJOB
- JobDefs = DefaultJob
- RunScript {
- Command = "/bin/false RUN_FD_FAILED1"
- abortjobonerror = no
- RunsWhen = Before
- }
- RunScript {
- Command = "/bin/false RUN_FD_FAILED2"
- abortjobonerror = yes
- RunsWhen = Before
- }
-
- Run After Failed Job = "/bin/echo RunAfterFailedJob"
-}
-
-#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_WARNING"
-#Backup OK -- with warnings
-Job {
- Name = "RUN_FD_WARNING"
- FileSet = FS_TESTJOB
- JobDefs = DefaultJob
- RunScript {
- Command = "/bin/false RUN_FD_WARNING"
- abortjobonerror = no
- RunsWhen = Before
- }
- Run After Failed Job = "/bin/echo RunAfterFailedJob"
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definiton of file storage device
-Storage {
- Name = File
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage
- Media Type = File
- Maximum Concurrent Jobs = 4
-}
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-
-Messages {
- Name = Standard
- stdout = all, !skipped
-}
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.39
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DDS-4
- Changer Device = @disk_drive@/conf
- Changer Command ="@scriptdir@/disk-changer %c %o %S %a %d"
- Device = Drive-0, Drive-1
-}
-
-Device {
- Name = Drive-0
- Device Type = File
- Media Type = DDS-4
- Archive Device = @disk_drive@/drive0
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
-# Maximum File Size = 1000000
-}
-
-Device {
- Name = Drive-1
- Device Type = File
- Media Type = DDS-4
- Archive Device = @disk_drive@/drive1
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 1
- AlwaysOpen = yes;
- RemovableMedia = yes;
-# Maximum File Size = 1000000
-}
-
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.39
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DDS-4
- Changer Device = @disk_drive@/conf
- Changer Command ="@scriptdir@/disk-changer %c %o %S %a %d"
- Device = Drive-0
-}
-
-Device {
- Name = Drive-0 #
- Device Type = File
- Media Type = DDS-4
- Archive Device = @disk_drive@/drive0
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
-# Maximum File Size = 1000000
-}
-
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DDS-4
- Changer Device = @autochanger@
- Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d"
- Device = Drive-0, Drive-1
-}
-
-Device {
- Name = Drive-0
- Media Type = DDS-4
- Archive Device = @tape_drive@
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @@sbindir@/tape_options
-# Maximum File Size = 1000000
-}
-
-Device {
- Name = Drive-1
- Media Type = DDS-4
- Archive Device = @tape_drive1@
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 1
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @@sbindir@/tape_options
-# Maximum File Size = 1000000
-}
-
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DDS-4
- Changer Device = @autochanger@
- Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d"
- Device = Drive-0
-}
-
-Device {
- Name = Drive-0 #
- Media Type = DDS-4
- Archive Device = @tape_drive@
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @@sbindir@/tape_options
-# Maximum File Size = 1000000
-}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.39
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DiskChanger
- Changer Device = @disk_drive@/conf
- Changer Command ="@scriptdir@/disk-changer %c %o %S %a %d"
- Device = Drive-0
-}
-
-Device {
- Name = Drive-0 #
- Device Type = File
- Media Type = DiskChanger
- Archive Device = @disk_drive@/drive0
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
-# Maximum File Size = 1000000
-}
-
-Device {
- Name = FileStorage
- Media Type = File
- Archive Device = @tmpdir@
- LabelMedia = yes; # lets Bacula label unlabeled media
- Random Access = Yes;
- AutomaticMount = yes; # when device opened, read it
- RemovableMedia = no;
- AlwaysOpen = no;
-}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-
-Device {
- Name = DDS-4 #
- Media Type = DDS-4
- Archive Device = @tape_drive@
- AutomaticMount = yes; # when device opened, read it
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @@sbindir@/tape_options
-# Maximum File Size = 1000000
-# MaximumVolumeSize = 400M
-}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = rufus-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "/home/kern/bacula/regress/working"
- Pid Directory = "/home/kern/bacula/regress/working"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = rufus-dir
- Password = "BzlEl8haeFmnv/Lv8V6zDzUBgFFQNsUtny6VkmccQpOy"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-
-Device {
- Name = FileStorage
- Media Type = File
- Archive Device = @tmpdir@
- LabelMedia = yes; # lets Bacula label unlabeled media
- Random Access = Yes;
- AutomaticMount = yes; # when device opened, read it
- RemovableMedia = no;
- AlwaysOpen = no;
-}
-
-#Device {
-# Name = DDS-4 #
-# Media Type = DDS-4
-# Archive Device = /dev/nst0
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = yes;
-# RemovableMedia = yes;
-#}
-
-#
-# A very old Exabyte with no end of media detection
-#
-#Device {
-# Name = "Exabyte 8mm"
-# Media Type = "8mm"
-# Archive Device = /dev/nst0
-# Hardware end of medium = No;
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = Yes;
-# RemovableMedia = yes;
-#}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = rufus-dir = all, !terminate
-}
+++ /dev/null
-#!/bin/sh
-#
-# Check for zombie jobs (not terminated).
-# Also scan logs for ERROR messages
-#
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
-@output tmp/dir.out
-status dir
-@output tmp/fd.out
-status client
-@output tmp/sd.out
-status $1
-@output
-quit
-END_OF_DATA
-grep "No Jobs running." tmp/dir.out 2>&1 >/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " !!!! Zombie Jobs in Director !!!!"
- echo " !!!! Zombie Jobs in Director !!!!" >>test.out
- echo " "
-fi
-grep "No Jobs running." tmp/fd.out 2>&1 >/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " !!!! Zombie Jobs in File daemon !!!!"
- echo " !!!! Zombie Jobs in File daemon !!!!" >>test.out
- echo " "
-fi
-grep "No Jobs running." tmp/sd.out 2>&1 >/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " !!!! Zombie Jobs in Storage daemon !!!!"
- echo " !!!! Zombie Jobs in Storage daemon !!!!" >>test.out
- echo " "
-fi
-grep "ERROR" tmp/log*.out 2>&1 >/dev/null
-if [ $? = 0 ] ; then
- echo " "
- echo " !!!! ERROR in log output !!!!"
- echo " !!!! ERROR in log output !!!!" >>test.out
- echo " "
-fi
-grep "Fatal Error" tmp/log*.out 2>&1 >/dev/null
-if [ $? = 0 ] ; then
- echo " "
- echo " !!!! Fatal Error in log output !!!!"
- echo " !!!! Fatal Error in log output !!!!" >>test.out
- echo " "
-fi
-
+++ /dev/null
-#!/bin/sh
-#
-# Cleanup left over files -- both before and after test run
-#
-rm -rf /tmp/FileVolume* tmp/FileVolume*
-rm -rf /tmp/TestVolume001 /tmp/bacula-restores /tmp/Small*
-rm -rf tmp/original tmp/bacula-restores tmp/Small* tmp/TestVolume*
-rm -rf tmp/restored tmp/largefile tmp/bscan.bsr tmp/log*.out
-rm -rf /tmp/sed_tmp /tmp/file-list
-rm -rf tmp/build tmp/restore-list tmp/restore2-list
-rm -rf tmp/fd.out tmp/dir.out tmp/sd.out
-rm -rf working/log tmp/TEST-*
-rm -rf working/*.bsr
-rm -rf tmp/disk-changer /tmp/disk-changer
-find . -name "gigaslam.gif" -exec rm -f {} \;
-
-bin/bacula stop 2>&1 >/dev/null
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges >/dev/null 2>&1
-cd ..
+++ /dev/null
-#!/bin/sh
-#
-# Cleanup left over files -- both before and after test run
-#
-scripts/cleanup
-
-if test x@autochanger@ != x/dev/null; then
- slot=`bin/mtx-changer @autochanger@ loaded 0 @tape_drive1@ 1`
- echo "Slot $slot in drive 1"
- if test x$slot != x0 ; then
- echo "unload slot $slot in drive 1"
- bin/mtx-changer @autochanger@ unload $slot @tape_drive1@ 1
- fi
- slot=`bin/mtx-changer @autochanger@ loaded 0 @tape_drive@ 0`
- echo "Slot $slot in drive 0"
- if test x$slot != x0 ; then
- echo "unload slot $slot in drive 0"
- bin/mtx-changer @autochanger@ unload $slot @tape_drive@ 0
- fi
-
-
- slot=`bin/mtx-changer @autochanger@ loaded 0 @tape_drive1@ 1`
- if test x$slot != x2; then
- echo "load slot 2 in drive 1"
- bin/mtx-changer @autochanger@ load 2 @tape_drive1@ 1
- fi
- echo "WEOF drive 1"
- mt -f @tape_drive1@ rewind
- mt -f @tape_drive1@ weof
- echo "unload slot 2 in drive 1"
- bin/mtx-changer @autochanger@ unload 2 @tape_drive1@ 1
-
- slot=`bin/mtx-changer @autochanger@ loaded 0 @tape_drive@ 0`
- echo "Slot $slot in drive 0"
- if test x$slot != x1; then
- echo "load slot 1 in drive 0"
- bin/mtx-changer @autochanger@ load 1 @tape_drive@ 0
- fi
- echo "WEOF drive 0"
- mt -f @tape_drive@ rewind
- mt -f @tape_drive@ weof
- echo "unload slot 1 from drive 0"
- bin/mtx-changer @autochanger@ unload 1 @tape_drive@ 0
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Cleanup left over files -- both before and after test run
-#
-scripts/cleanup
-
-if test x@autochanger@ != x/dev/null; then
- drive=`bin/mtx-changer @autochanger@ loaded 0 dummy 0`
- if test x${drive} != x2; then
- bin/mtx-changer @autochanger@ unload 0 @tape_drive@ 0
- bin/mtx-changer @autochanger@ load 2 @tape_drive@ 0
- fi
- mt -f @tape_drive@ rewind
- mt -f @tape_drive@ weof
-fi
-
-
-#
-# If we have an autochanger always load tape in slot 1
-#
-if test x@autochanger@ != x/dev/null; then
- drive=`bin/mtx-changer @autochanger@ loaded 0 dummy 0`
- if test x${drive} != x1; then
- bin/mtx-changer @autochanger@ unload 0 @tape_drive@ 0
- bin/mtx-changer @autochanger@ load 1 @tape_drive@ 0
- fi
-fi
-
-mt -f @tape_drive@ rewind
-mt -f @tape_drive@ weof
+++ /dev/null
-#!/bin/sh
-#
-# Cleanup left over files -- both before and after test run
-#
-scripts/cleanup
-
-mt -f @tape_drive@ rewind
-mt -f @tape_drive@ weof
+++ /dev/null
-#!/bin/sh
-#
-# Setup for using the Virtual Disk Changer (simulates tape changer)
-#
-/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-sd-2disk.conf bin/bacula-sd.conf
-/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-outf="tmp/sed_tmp"
-echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf}
-cp bin/bacula-dir.conf tmp/1
-sed -f ${outf} tmp/1 >bin/bacula-dir.conf
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-sd-2disk-drive.conf bin/bacula-sd.conf
-/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-outf="tmp/sed_tmp"
-echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf}
-cp bin/bacula-dir.conf tmp/1
-sed -f ${outf} tmp/1 >bin/bacula-dir.conf
-
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-sd-2drive.conf bin/bacula-sd.conf
-/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-outf="tmp/sed_tmp"
-echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf}
-cp bin/bacula-dir.conf tmp/1
-sed -f ${outf} tmp/1 >bin/bacula-dir.conf
-
-# get proper SD tape definitions
-cp -f scripts/linux_tape_options bin/tape_options
-if test x`uname` = xFreeBSD ; then
- cp -f scripts/freebsd_tape_options bin/tape_options
-fi
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-sd-2tape.conf bin/bacula-sd.conf
-/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-outf="tmp/sed_tmp"
-echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf}
-cp bin/bacula-dir.conf tmp/1
-sed -f ${outf} tmp/1 >bin/bacula-dir.conf
-
-# get proper SD tape definitions
-cp -f scripts/linux_tape_options bin/tape_options
-if test x`uname` = xFreeBSD ; then
- cp -f scripts/freebsd_tape_options bin/tape_options
-fi
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/bacula-dir.conf bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-sd.conf bin/bacula-sd.conf
-/bin/cp -f scripts/bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/bconsole.conf bin/bconsole.conf
-
-# get proper SD tape definitions
-cp -f scripts/linux_tape_options bin/tape_options
-if test x`uname` = xFreeBSD ; then
- cp -f scripts/freebsd_tape_options bin/tape_options
-fi
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/new-test-bacula-dir.conf bin/bacula-dir.conf
-/bin/cp -f scripts/test-bacula-sd.conf bin/bacula-sd.conf
-/bin/cp -f scripts/crypto-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-/bin/cp -f scripts/cryptokeypair.pem bin/cryptokeypair.pem
+++ /dev/null
-#!/bin/sh
-#
-# Setup for using the Virtual Disk Changer (simulates tape changer)
-#
-/bin/cp -f scripts/bacula-dir-migration.conf bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-sd-migration.conf bin/bacula-sd.conf
-/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-sd-tape.conf bin/bacula-sd.conf
-/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-
-# get proper SD tape definitions
-cp -f scripts/linux_tape_options bin/tape_options
-if test x`uname` = xFreeBSD ; then
- cp -f scripts/freebsd_tape_options bin/tape_options
-fi
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/new-test-bacula-dir.conf bin/bacula-dir.conf
-/bin/cp -f scripts/test-bacula-sd.conf bin/bacula-sd.conf
-/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-
-# get proper SD tape definitions
-cp -f scripts/linux_tape_options bin/tape_options
-if test x`uname` = xFreeBSD ; then
- cp -f scripts/freebsd_tape_options bin/tape_options
-fi
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/testa-bacula-dir.conf bin/bacula-dir.conf
-/bin/cp -f scripts/test-bacula-sd.conf bin/bacula-sd.conf
-/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-
-# get proper SD tape definitions
-cp -f scripts/linux_tape_options bin/tape_options
-if test x`uname` = xFreeBSD ; then
- cp -f scripts/freebsd_tape_options bin/tape_options
-fi
+++ /dev/null
-#!/bin/sh
-/bin/cp -f scripts/win32-bacula-dir-tape.conf bin/bacula-dir.conf
-/bin/cp -f scripts/win32-bacula-sd-tape.conf bin/bacula-sd.conf
-/bin/cp -f scripts/win32-bacula-fd.conf bin/bacula-fd.conf
-/bin/cp -f scripts/test-console.conf bin/bconsole.conf
-
-# get proper SD tape definitions
-cp -f scripts/linux_tape_options bin/tape_options
-if test x`uname` = xFreeBSD ; then
- cp -f scripts/freebsd_tape_options bin/tape_options
-fi
+++ /dev/null
-#
-# Default Bacula File Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# There is not much to change here except perhaps the
-# File daemon Name to
-#
-
-#
-# List Directors who are permitted to contact this File daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"
-}
-
-#
-# "Global" File daemon configuration specifications
-#
-FileDaemon { # this is me
- Name = @hostname@-fd
- FDport = 8102 # where we listen for the director
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- SubSys Directory = "@subsysdir@"
- PKI Signatures = Yes
- PKI Encryption = Yes
- PKI Keypair = "@scriptdir@/cryptokeypair.pem"
-}
-
-# Send all messages except skipped files back to Director
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
------BEGIN RSA PRIVATE KEY-----
-MIIBOgIBAAJBAKIc649Amif6weq+c8rVtS7jyn7E9oZ9Irrl9WviQZi0+J2OLgCi
-PNaj/FzPhTIgBBRFEP0ZU5DfVv6CoXKbpr8CAwEAAQJAQbvUUFvzpi5pnxPmw+Jv
-+zlmjIy1Icdv47UHFN3Dl3V0+X05g12xUlnyNKzo2jlSwkBi1w8AJCMV6/TnnLiI
-AQIhAM4SH9cb01DUH+1O5gk90GgNYW1Aq2vL1vygm02kppi/AiEAyWQ9eAILPXhX
-H3a7mEj8z1bCTBiVrhe73NUjim4QcgECIEC3hHRj8ruBwv0eODRSy27CNQTAuJVE
-ESKJtfxuZzu1AiEAotXYFbahW/x3hUs9d25ca1EdHOYr8G3kSjRT3lQMHAECIHBl
-uX+Ywc1jjWhc+vN2ZrLWkKMVbrd+SWOPUQGroM0j
------END RSA PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIICKzCCAdWgAwIBAgIJAO4x/m+tHX8HMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
-aWRnaXRzIFB0eSBMdGQwHhcNMDYxMjA0MDMxMzUwWhcNMDcwMTAzMDMxMzUwWjBF
-MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
-ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKIc
-649Amif6weq+c8rVtS7jyn7E9oZ9Irrl9WviQZi0+J2OLgCiPNaj/FzPhTIgBBRF
-EP0ZU5DfVv6CoXKbpr8CAwEAAaOBpzCBpDAdBgNVHQ4EFgQUiGz2I+bks0nCHyCI
-IwuV3DpDPMwwdQYDVR0jBG4wbIAUiGz2I+bks0nCHyCIIwuV3DpDPMyhSaRHMEUx
-CzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRl
-cm5ldCBXaWRnaXRzIFB0eSBMdGSCCQDuMf5vrR1/BzAMBgNVHRMEBTADAQH/MA0G
-CSqGSIb3DQEBBQUAA0EAkjFYcs9rrpdURlBaNlbud68VlA5rU+Bv4keYx41DUmqo
-sXtkQZENR9iYYYhOUso1/1dwQgrt3egjTZTtq7o5zw==
------END CERTIFICATE-----
+++ /dev/null
-#!/bin/sh
-#
-if test $# != 6 ; then
- echo "First arg must be email name"
- echo " and the second must be a tape drive"
- echo " and the third must be a tape control name or /dev/null"
- echo " and the fourth must be the full path to the mtx program"
- echo " and the fifth must be tape drive 1 or /dev/null"
- echo " and the sixth must be the smtp or email host"
- exit 1
-fi
-cwd=`pwd`
-mkdir -p ${cwd}/bin
-out="/tmp/sed_tmp"
-HOST="localhost"
-# Create sed command script
-echo "s%@sbindir@%${cwd}/bin%g" >${out}
-echo "s%@scriptdir@%${cwd}/bin%g" >>${out}
-echo "s%@working_dir@%${cwd}/working%g" >>${out}
-echo "s%@piddir@%${cwd}/working%g" >>${out}
-echo "s%@subsysdir@%${cwd}/working%g" >>${out}
-echo "s%@job_email@%${1}%g" >>${out}
-echo "s%@tape_drive@%${2}%g" >>${out}
-echo "s%@autochanger@%${3}%g" >>${out}
-echo "s%@tmpdir@%${cwd}/tmp%g" >>${out}
-echo "s%@hostname@%${HOST}%g" >>${out}
-echo "s%@changer_path@%${4}%g" >>${out}
-echo "s%@tape_drive1@%${5}%g" >>${out}
-echo "s%@smtp_host@%${6}%g" >>${out}
-echo "s%@disk_drive@%${cwd}/tmp/disk-changer%g" >>${out}
-
-echo "AUTOCHANGER=\"${3}\"" >config.out
-echo "TAPE_DRIVE1=\"${5}\"" >>config.out
-
-
-# process .in files with sed script
-sed -f ${out} ${cwd}/scripts/test-bacula-dir.conf.in >${cwd}/scripts/test-bacula-dir.conf
-sed -f ${out} ${cwd}/scripts/new-test-bacula-dir.conf.in >${cwd}/scripts/new-test-bacula-dir.conf
-sed -f ${out} ${cwd}/scripts/testa-bacula-dir.conf.in >${cwd}/scripts/testa-bacula-dir.conf
-sed -f ${out} ${cwd}/scripts/test-bacula-fd.conf.in >${cwd}/scripts/test-bacula-fd.conf
-sed -f ${out} ${cwd}/scripts/test-bacula-sd.conf.in >${cwd}/scripts/test-bacula-sd.conf
-sed -f ${out} ${cwd}/scripts/test-console.conf.in >${cwd}/scripts/test-console.conf
-sed -f ${out} ${cwd}/scripts/crypto-bacula-fd.conf.in >${cwd}/scripts/crypto-bacula-fd.conf
-sed -f ${out} ${cwd}/scripts/bacula-dir-tape.conf.in >${cwd}/scripts/bacula-dir-tape.conf
-sed -f ${out} ${cwd}/scripts/bacula-dir-migration.conf.in >${cwd}/scripts/bacula-dir-migration.conf
-sed -f ${out} ${cwd}/scripts/win32-bacula-dir-tape.conf.in >${cwd}/scripts/win32-bacula-dir-tape.conf
-sed -f ${out} ${cwd}/scripts/bacula-sd-tape.conf.in >${cwd}/scripts/bacula-sd-tape.conf
-sed -f ${out} ${cwd}/scripts/bacula-sd-2tape.conf.in >${cwd}/scripts/bacula-sd-2tape.conf
-sed -f ${out} ${cwd}/scripts/bacula-sd-migration.conf.in >${cwd}/scripts/bacula-sd-migration.conf
-sed -f ${out} ${cwd}/scripts/bacula-sd-2disk.conf.in >${cwd}/scripts/bacula-sd-2disk.conf
-sed -f ${out} ${cwd}/scripts/bacula-sd-2drive.conf.in >${cwd}/scripts/bacula-sd-2drive.conf
-sed -f ${out} ${cwd}/scripts/bacula-sd-2disk-drive.conf.in >${cwd}/scripts/bacula-sd-2disk-drive.conf
-sed -f ${out} ${cwd}/scripts/cleanup-tape.in >${cwd}/scripts/cleanup-tape
-sed -f ${out} ${cwd}/scripts/cleanup-2tape.in >${cwd}/scripts/cleanup-2tape
-sed -f ${out} ${cwd}/scripts/cleanup-2drive.in >${cwd}/scripts/cleanup-2drive
-sed -f ${out} ${cwd}/scripts/prepare-two-tapes.in >${cwd}/scripts/prepare-two-tapes
-sed -f ${out} ${cwd}/scripts/bacula-dir.conf.testrunscript.in >${cwd}/scripts/bacula-dir.conf.testrunscript
-
-cp ${cwd}/bin/bacula-sd.conf /tmp/bac$$
-sed s%/tmp%${cwd}/tmp%g /tmp/bac$$ >${cwd}/bin/bacula-sd.conf
-chmod 777 ${cwd}/scripts/cleanup-*tape ${cwd}/scripts/cleanup-*drive ${cwd}/scripts/prepare-two-tapes
-rm -f /tmp/bac$$
-cp ${cwd}/bin/mtx-changer /tmp/bac$$
-sed "s%^MTX.*$%MTX=${4}%g" /tmp/bac$$ >${cwd}/bin/mtx-changer
-chmod 777 ${cwd}/bin/mtx-changer
-
-# get proper SD tape definitions
-cp -f ${cwd}/scripts/linux_tape_options ${cwd}/bin/tape_options
-if test x`uname` = xFreeBSD ; then
- cp -f ${cwd}/scripts/freebsd_tape_options ${cwd}/bin/tape_options
-fi
-
-rm -f ${out}
-rm -f /tmp/bac$$
+++ /dev/null
-dev/ptmx
-dev/pts
-dev/rd/c5d2
-dev/rd
-dev/shm
+++ /dev/null
-etc/mail/statistics
+++ /dev/null
-lib/ld-2.2.5.so
-lib/libtermcap.so.2.0.8
-lib/libc-2.2.5.so
-lib/libnsl-2.2.5.so
-lib/libnss_files-2.2.5.so
+++ /dev/null
-/build/configure
-/build/src/stored/bextract
-/build/src/tools/testfind
-/build/Makefile.in
-/build/src/dird/bacula-dir
-/build/src/console/bconsole
-/build/src/filed/bacula-fd
-/build/src/findlib/find_one.c
-/build/src/jcr.h
-/build/platforms/Makefile.in
-/build/platforms/redhat/Makefile.in
-/build/scripts/Makefile.in
-/build/src/win32/filed/winservice.cpp
-/build/src/filed/restore.c
-/build/autoconf/configure.in
-/build/examples/afs-bacula
-/build/src/win32/Makefile.inc.in
-/build/src/win32/installer/winbacula.nsi
-/build/autoconf/configure.in
-/build/src/version.h
-/build/src/lib/message.c
-/build/src/lib/bnet_server.c
-/build/src/lib/libbac.a
+++ /dev/null
-#
-# FreeBSD tape drive options
-#
-Hardware End of Medium = no
-Fast Forward Space File = no
-BSF at EOM = yes
-Backward Space Record = no
-TWO EOF = yes
+++ /dev/null
-#
-# A set of useful functions to be sourced in each test
-#
-
-start_test()
-{
- echo " "
- echo " "
- echo " === Starting $TestName at `date +%R:%S` ==="
- echo " === Starting $TestName at `date +%R:%S` ===" >>working/log
- echo " "
-}
-
-set_debug()
-{
- debug=$1
- if test "$debug" -eq 1 ; then
- out="tee"
- else
- out="output"
- fi
-}
-
-run_bacula()
-{
- if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
- else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
- fi
-}
-
-run_bconsole()
-{
- if test "$debug" -eq 1 ; then
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
- else
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
- fi
-}
-
-run_btape()
-{
- if test "$debug" -eq 1 ; then
- cat tmp/bconcmds | bin/btape -c bin/bacula-sd.conf DDS-4 | tee tmp/log1.out
- else
- cat tmp/bconcmds | bin/btape -c bin/bacula-sd.conf DDS-4 2>&1 >tmp/log1.out
- fi
-}
-
-run_bscan()
-{
- if test "$debug" -eq 1 ; then
- bin/bscan $* | tee tmp/log.out
- else
- bin/bscan $* 2>&1 >/dev/null
- fi
-}
-
-
-stop_bacula()
-{
- bin/bacula stop 2>&1 >/dev/null
-}
-
-check_for_zombie_jobs()
-{
- scripts/check_for_zombie_jobs $1
-}
-
-change_jobname()
-{
- if test $# -eq 1; then
- oldname=NightlySave
- newname=$1
- else
- oldname=$1
- newname=$2
- fi
- rm -f bin/1
- mv bin/bacula-dir.conf bin/1
- echo "s%${oldname}%${newname}%g" >tmp/1
- sed -f tmp/1 bin/1 >bin/bacula-dir.conf
-# echo "Job ${oldname} changed to ${newname}"
-}
-
-check_two_logs()
-{
- grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
- bstat=$?
- grep "^ Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
- rstat=$?
-}
-
-check_restore_diff()
-{
- diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null
- dstat=$?
-}
-
-check_restore_tmp_build_diff()
-{
- diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null
- dstat=$?
-}
-
-end_test()
-{
- if [ $dstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
- echo " "
- echo " "
- echo " !!!!! $TestName Bacula source failed!!! !!!!! "
- echo " !!!!! $TestName failed!!! !!!!! " >>test.out
- if [ $bstat != 0 -o $rstat != 0 ] ; then
- echo " !!!!! Bad Job termination status !!!!! "
- echo " !!!!! Bad Job termination status !!!!! " >>test.out
- else
- echo " !!!!! Restored files differ !!!!! "
- echo " !!!!! Restored files differ !!!!! " >>test.out
- fi
- echo " "
- else
- echo " ===== $TestName Bacula source OK `date +%R:%S` ===== "
- echo " ===== $TestName OK `date +%R:%S` ===== " >>test.out
- if test "$debug" -eq 0 ; then
- scripts/cleanup
- fi
- fi
-}
-
-copy_tape_confs()
-{
- scripts/copy-tape-confs
- scripts/cleanup-tape
-}
-
-copy_test_confs()
-{
- scripts/copy-test-confs
- scripts/cleanup
-}
-
-
-# Save current directory
-cwd=`pwd`
+++ /dev/null
- Minimum Block Size = 32768
- Maximum Block Size = 32768
- Hardware End of Medium = yes
- BSF at EOM = yes
- Fast Forward Space File = yes
- Two EOF = no
-
+++ /dev/null
-# nothing needed for Linux
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.39 or later
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- SubSysDirectory = "@subsysdir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
- Messages = Standard
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData=yes
-}
-
-Job {
- Name = "MonsterSave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File1
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-Job {
- Name = "VerifyVolume"
- Type = Verify
- Level = VolumeToCatalog
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-Job {
- Name = "SparseTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-Job {
- Name = "CompressedTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="CompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Maximum Concurrent Jobs = 4
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-Job {
- Name = "SparseCompressedTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseCompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-# Backup the catalog database (after the nightly save)
-Job {
- Name = "BackupCatalog"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Catalog"
-# Schedule = "WeeklyCycleAfterBackup"
- Storage = File
- Messages = Standard
- Pool = Default
- # This creates an ASCII copy of the catalog
- RunBeforeJob = "@sbindir@/make_catalog_backup -u bacula"
- # This deletes the copy of the catalog
- RunAfterJob = "@sbindir@/delete_catalog_backup"
- Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
-}
-
-JobDefs {
- Name = "BackupJob"
- Type = Backup
- Pool = Default
- Storage = File
- Messages = Standard
- Priority = 10
-}
-
-Job {
- JobDefs = "BackupJob"
- Name = "bug621-job-1"
- Client = @hostname@-fd
- FileSet="Full Set"
- ClientRunBeforeJob = "/bin/sleep 60"
-}
-
-Job {
- JobDefs = "BackupJob"
- Name = "bug621-job-2"
- Client = @hostname@-fd
- FileSet = "Full Set"
- Max Run Time = 30
- Priority = 15
-}
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=MD5 }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "SparseSet"
- Include {
- Options {
- signature=MD5
- sparse=yes
- }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "CompressedSet"
- Include {
- Options {
- signature=MD5
- compression=GZIP
- }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "SparseCompressedSet"
- Include {
- Options {
- signature=MD5
- compression=GZIP
- sparse=yes
- }
- File = </tmp/file-list
- }
-}
-
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Level=Full 1st sun at 1:05
- Run = Level=Differential 2nd-5th sun at 1:05
- Run = Level=Incremental mon-sat at 1:05
-}
-
-# This schedule does the catalog. It starts after the WeeklyCycle
-Schedule {
- Name = "WeeklyCycleAfterBackup"
- Run = Level=Full sun-sat at 1:10
-}
-
-# This is the backup of the catalog
-FileSet {
- Name = "Catalog"
- Include {
- Options {
- signature=MD5
- }
- File = /home/kern/bacula/regress/bin/working/bacula.sql
- }
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definiton of file storage device
-Storage {
- Name = File
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage
- Media Type = File
- Maximum Concurrent Jobs = 4
-}
-
-Storage {
- Name = File1
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage1
- Media Type = File1
- Maximum Concurrent Jobs = 4
-}
-
-
-# Definition of DLT tape storage device
-#Storage {
-# Name = DLTDrive
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
-# Device = "HP DLT 80" # must be same as Device in Storage daemon
-# Media Type = DLT8000 # must be same as MediaType in Storage daemon
-#}
-
-# Definition of DDS tape storage device
-#Storage {
-# Name = SDT-10000
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
-# Device = SDT-10000 # must be same as Device in Storage daemon
-# Media Type = DDS-4 # must be same as MediaType in Storage daemon
-#}
-
-# Definition of 8mm tape storage device
-#Storage {
-# Name = "8mmDrive"
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-# Device = "Exabyte 8mm"
-# MediaType = "8mm"
-#}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-Messages {
- Name = NoEmail
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- console = all, !skipped, !terminate
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-# Label Format = "TEST-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}:${NumVols}"
-}
+++ /dev/null
-#!/bin/sh
-#
-# Create fresh virtual disk changer directory
-#
-rm -rf tmp/disk-changer
-mkdir tmp/disk-changer
+++ /dev/null
-#!/bin/sh
-#
-# Create two blank tapes
-#
-# mt -f @tape_drive@ offline
-@changer_path@ -f @autochanger@ unload
-@changer_path@ -f @autochanger@ load 1
-mt -f @tape_drive@ rewind
-mt -f @tape_drive@ weof
-@changer_path@ -f @autochanger@ unload
-@changer_path@ -f @autochanger@ load 2
-mt -f @tape_drive@ rewind
-mt -f @tape_drive@ weof
-#@changer_path@ -f @autochanger@ unload
+++ /dev/null
-#!/bin/sh
-#
-# This is the configuration script for regression testing
-#
-
-CFLAGS="-g -O2 -Wall" \
- ./configure \
- --sbindir=$1/bin \
- --sysconfdir=$1/bin \
- --mandir=$1/bin \
- --with-pid-dir=$1/working \
- --with-subsys-dir=$1/working \
- --enable-smartalloc \
- --disable-readline \
- --with-working-dir=$1/working \
- --with-dump-email=$2 \
- --with-job-email=$2 \
- --with-smtp-host=$5 \
- $3 \
- --with-baseport=8101 \
- $4 \
- $6
-
-exit 0
+++ /dev/null
-#!/bin/sh
-#
-# Script to setup running Bacula regression tests
-#
-
-check_exit_code()
-{
- if [ $? != 0 ] ; then
- echo "Bad exit code giving up"
- exit 1
- fi
-}
-
-cwd=`pwd`
-if [ $# != 6 ] ; then
- echo "Incorrect number of arguments. Got $#. Need:"
- echo "setup bacula-src email-address --with-DBNAME --with-tcp-wrappers"
- echo " "
- exit 1
-fi
-if [ ! -d $1 ] ; then
- echo "Arg 1 must be a Bacula release directory."
- echo " "
- exit 1
-fi
-rm -rf build bin
-# Copy new source
-echo "Copying source from $1"
-cp -rp $1 build
-cp scripts/regress-config build
-cd build
-rm -f Makefile config.cache
-# Run Bacula configuration, make, install
-./regress-config ${cwd} $2 $3 $4 $5 $6
-check_exit_code
-make
-check_exit_code
-make install
-check_exit_code
-cp src/tools/testls ../bin
-check_exit_code
-
-cd ${cwd}
-bin/bacula stop
-
-mkdir -p working
-cd bin
-echo "Running database creation scripts"
-./create_bacula_database bacula
-./drop_bacula_tables bacula
-./make_bacula_tables
-./grant_bacula_privileges bacula
-cd ${cwd}
-# Start and stop Bacula to ensure conf files are OK
-bin/bacula start
-bin/bacula stop
-#
-# Save Bacula default conf files for later use
-#
-cp -f bin/*.conf scripts
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.33
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- SubSysDirectory = "@subsysdir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData=yes
-}
-
-Job {
- Name = "MonsterSave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File1
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-Job {
- Name = "VerifyVolume"
- Type = Verify
- Level = VolumeToCatalog
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-Job {
- Name = "SparseTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-Job {
- Name = "CompressedTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="CompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Maximum Concurrent Jobs = 4
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-# Max Run Time = 15 seconds
-}
-
-Job {
- Name = "SparseCompressedTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseCompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-# Backup the catalog database (after the nightly save)
-Job {
- Name = "BackupCatalog"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Catalog"
-# Schedule = "WeeklyCycleAfterBackup"
- Storage = File
- Messages = Standard
- Pool = Default
- # This creates an ASCII copy of the catalog
- RunBeforeJob = "@sbindir@/make_catalog_backup -u bacula"
- # This deletes the copy of the catalog
- RunAfterJob = "@sbindir@/delete_catalog_backup"
- Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
-}
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=MD5 }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "SparseSet"
- Include { Options { signature=MD5; sparse=yes }
- File=</tmp/file-list
- }
-}
-
-FileSet {
- Name = "CompressedSet"
- Include {
- Options { signature=MD5; compression=GZIP }
- File =</tmp/file-list
- }
-}
-
-FileSet {
- Name = "SparseCompressedSet"
- Include {
- Options {
- signature=MD5; compression=GZIP
- }
- File= </tmp/file-list
- }
-}
-
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Level=Full 1st sun at 1:05
- Run = Level=Differential 2nd-5th sun at 1:05
- Run = Level=Incremental mon-sat at 1:05
-}
-
-# This schedule does the catalog. It starts after the WeeklyCycle
-Schedule {
- Name = "WeeklyCycleAfterBackup"
- Run = Level=Full sun-sat at 1:10
-}
-
-# This is the backup of the catalog
-FileSet {
- Name = "Catalog"
- Include { Options { signature=MD5 }
- File=/home/kern/bacula/regress/bin/working/bacula.sql
- }
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definiton of file storage device
-Storage {
- Name = File
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage
- Media Type = File
- Maximum Concurrent Jobs = 4
-}
-
-Storage {
- Name = File1
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage1
- Media Type = File1
- Maximum Concurrent Jobs = 4
-}
-
-
-# Definition of DLT tape storage device
-#Storage {
-# Name = DLTDrive
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
-# Device = "HP DLT 80" # must be same as Device in Storage daemon
-# Media Type = DLT8000 # must be same as MediaType in Storage daemon
-#}
-
-# Definition of DDS tape storage device
-#Storage {
-# Name = SDT-10000
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
-# Device = SDT-10000 # must be same as Device in Storage daemon
-# Media Type = DDS-4 # must be same as MediaType in Storage daemon
-#}
-
-# Definition of 8mm tape storage device
-#Storage {
-# Name = "8mmDrive"
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-# Device = "Exabyte 8mm"
-# MediaType = "8mm"
-#}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-Messages {
- Name = NoEmail
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- console = all, !skipped, !terminate
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula File Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# There is not much to change here except perhaps the
-# File daemon Name to
-#
-
-#
-# List Directors who are permitted to contact this File daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"
-}
-
-#
-# "Global" File daemon configuration specifications
-#
-FileDaemon { # this is me
- Name = @hostname@-fd
- FDport = 8102 # where we listen for the director
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- SubSys Directory = "@subsysdir@"
-}
-
-# Send all messages except skipped files back to Director
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-
-Device {
- Name = FileStorage
- Media Type = File
- Archive Device = @tmpdir@
- LabelMedia = yes; # lets Bacula label unlabelled media
- Random Access = Yes;
- AutomaticMount = yes; # when device opened, read it
- RemovableMedia = no;
- AlwaysOpen = no;
-# Maximum File Size = 10KB
-}
-
-Device {
- Name = FileStorage1
- Media Type = File1
- Archive Device = @tmpdir@
- LabelMedia = yes; # lets Bacula label unlabelled media
- Random Access = Yes;
- AutomaticMount = yes; # when device opened, read it
- RemovableMedia = no;
- AlwaysOpen = no;
-}
-
-
-#Device {
-# Name = "HP DLT 80"
-# Media Type = DLT8000
-# Archive Device = /dev/nst0
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = yes;
-# RemovableMedia = yes;
-#}
-
-#Device {
-# Name = SDT-7000 #
-# Media Type = DDS-2
-# Archive Device = /dev/nst0
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = yes;
-# RemovableMedia = yes;
-#}
-
-#Device {
-# Name = Floppy
-# Media Type = Floppy
-# Archive Device = /mnt/floppy
-# RemovableMedia = yes;
-# Random Access = Yes;
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = no;
-#}
-
-#
-# A very old Exabyte with no end of media detection
-#
-#Device {
-# Name = "Exabyte 8mm"
-# Media Type = "8mm"
-# Archive Device = /dev/nst0
-# Hardware end of medium = No;
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = Yes;
-# RemovableMedia = yes;
-#}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Bacula User Agent (or Console) Configuration File
-#
-
-Director {
- Name = @hostname@-dir
- DIRport = 8101
- address = @hostname@
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
-}
+++ /dev/null
-#
-# TestA Bacula Director Configuration file
-#
-# For Bacula release 1.30 (12 April 2003) -- redhat 7.3
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- SubSysDirectory = "@subsysdir@"
- Maximum Concurrent Jobs = 1
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
- Messages = Standard
-}
-
-
-Job {
- Name = "MultiVol"
- Type = Backup
- Client=@hostname@-fd
- Level = Full
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Write Bootstrap = "@working_dir@/SmallVols.bsr"
- Pool = SmallVols
- SpoolData = yes
-}
-
-
-Job {
- Name = "VerifyVolume"
- Type = Verify
- Level = VolumeToCatalog
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=SHA1 }
- File =</tmp/file-list
- }
-}
-
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
-}
-
-# Definiton of file storage device
-Storage {
- Name = File
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage
- Media Type = File
-}
-
-Storage {
- Name = File1
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage1
- Media Type = File1
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate
-
- append = "@working_dir@/log" = all, !skipped
-}
-
-Messages {
- Name = NoEmail
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- console = all, !skipped, !terminate, !restored
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
-
-Pool {
- Name = SmallVols
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
- Maximum Volumes = 10
- MaximumVolumeBytes = 10M
- LabelFormat = Small
-}
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.39.23
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = localhost-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=Tibs
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-}
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=Tibs
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Enable VSS = yes
- Include { Options { signature=MD5; portable=no
- compression=GZIP }
-# File = "c:/cygwin" # big
- File = "c:/cygwin/home/kern/bacula/k"
- }
-}
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# Client (File Services) to backup
-Client {
- Name = Tibs
- Address = tibs
- FDPort = 9102
- Catalog = MyCatalog
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-Client {
- Name = localhost-fd
- Address = localhost
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-
-# Definition of DDS tape storage device
-Storage {
- Name = DDS-4
- Address = 192.168.68.112 # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = DDS-4 # must be same as Device in Storage daemon
- Media Type = DDS-4 # must be same as MediaType in Storage daemon
- AutoChanger = yes
- Maximum Concurrent Jobs = 4
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula File Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# There is not much to change here except perhaps the
-# File daemon Name to
-#
-
-#
-# List Directors who are permitted to contact this File daemon
-#
-Director {
- Name = rufus-dir
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"
-}
-
-#
-# "Global" File daemon configuration specifications
-#
-FileDaemon { # this is me
- Name = localhost-fd
- FDport = 8102 # where we listen for the director
- WorkingDirectory = "/home/kern/bacula/regress/working"
- Pid Directory = "/home/kern/bacula/regress/working"
- SubSys Directory = "/home/kern/bacula/regress/working"
-}
-
-# Send all messages except skipped files back to Director
-Messages {
- Name = Standard
- director = rufus-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.39.23
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = localhost-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "/home/kern/bacula/regress/working"
- Pid Directory = "/home/kern/bacula/regress/working"
- Subsys Directory = "/home/kern/bacula/regress/working"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = localhost-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-
-Device {
- Name = DDS-4 #
- Media Type = DDS-4
- Archive Device = /dev/nst0
- AutomaticMount = yes; # when device opened, read it
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @/home/kern/bacula/regress/bin/tape_options
-# Maximum File Size = 1000000
-# MaximumVolumeSize = 100M
-}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = rufus-dir = all, !terminate
-}
+++ /dev/null
-#!/usr/bin/python
-from time import time as now
-
-fn = open('time.out', 'w+')
-fn.write('%s' % now())
-fn.close()
+++ /dev/null
-#!/bin/sh
-./all-non-root-tape-tests
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do an Incremental and restore those two files.
-#
-# This script uses the virtual disk autochanger and two drives
-#
-. config.out
-TestName="2drive-incremental-2disk"
-JobName="2drive2disk"
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-
-scripts/cleanup
-scripts/copy-2disk-drive-confs
-scripts/prepare-two-disks
-
-change_jobname localhost-fd $JobName
-start_test
-
-echo "${cwd}/tmp/build" >/tmp/file-list
-if test ! -d ${cwd}/tmp/build ; then
- mkdir ${cwd}/tmp/build
-fi
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-# Turn off Prefer Mounted Volumes so we use 2 drives
-outf="tmp/sed_tmp"
-echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf}
-cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1
-# Comment the next line out to write everything to one drive
-# otherwise, it writes the two jobs to different drives
-sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=1
-status storage=DDS-4
-@#setdebug level=120 storage=DDS-4
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-@sleep 3
-status storage=DDS-4
-wait
-list volumes
-list jobs
-status storage=DDS-4
-messages
-quit
-END_OF_DATA
-
-run_bacula
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-status storage=DDS-4
-@#setdebug level=120 storage=DDS-4
-run level=Incremental job=NightlySave yes
-wait
-list volumes
-status storage=DDS-4
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-# The restore should read from TestVolume002, which was on drive 1
-grep tmp/log2.out TestVolume002
-if [ $? != 0 ] ; then
- rstat=$?
-fi
-
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-check_restore_tmp_build_diff
-
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do an Incremental and restore those two files.
-#
-# This script uses the autochanger and two tapes
-#
-. config.out
-if test x${TAPE_DRIVE1} = x/dev/null ; then
- echo "Skipping 2drive-incremenatal-2tape test. No second drive."
- exit
-fi
-TestName="2drive-incremental-2tape"
-JobName="2drive2tape"
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-
-scripts/copy-2drive-confs
-scripts/cleanup-2drive
-
-change_jobname localhost-fd $JobName
-
-echo "${cwd}/tmp/build" >/tmp/file-list
-if test ! -d ${cwd}/tmp/build ; then
- mkdir ${cwd}/tmp/build
-fi
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-# Turn off Prefer Mounted Volumes so we use 2 drives
-outf="tmp/sed_tmp"
-echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf}
-cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1
-# Comment the next line out to write everything to one drive
-# otherwise, it writes the two jobs to different drives
-sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf
-
-start_test
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=1
-@#setdebug level=100 storage=DDS-4
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-@sleep 3
-status storage=DDS-4
-wait
-list volumes
-list jobs
-status storage=DDS-4
-messages
-quit
-END_OF_DATA
-
-run_bacula
-
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-status storage=DDS-4
-@#setdebug level=400 storage=DDS-4
-run level=Incremental job=NightlySave yes
-wait
-list volumes
-status storage=DDS-4
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-check_restore_tmp_build_diff
-
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Test if Bacula can automatically create a Volume label.
-#
-
-TestName="auto-label-test"
-JobName=AutoLabel
-. scripts/functions
-set_debug 0
-copy_test_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1
-sed "s%# Label Format% Label Format%" ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_SCRIPT >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-status all
-status all
-list pools
-messages
-@#setdebug level=110 storage=File
-run job=$JobName storage=File yes
-list pools
-list volumes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-count
-ls *
-dir *
-find Makefile
-pwd
-lsmark
-estimate
-?
-help
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_SCRIPT
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape then restore it, we do that twice to ensure that
-# we can correctly append to a tape.
-# We also use the purge and the relabel commands as
-# well as a pile of status storage commands.
-#
-TestName="backup-bacula-tape"
-JobName=backuptape
-. scripts/functions
-set_debug 0
-
-scripts/copy-tape-confs
-scripts/cleanup-tape
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-@#setdebug level=200 storage=DDS-4
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-purge volume=TestVolume001
-relabel pool=Default storage=DDS-4 oldVolume=TestVolume001 volume=TestVolume002 slot=0
-purge volume=TestVolume002
-relabel pool=Default storage=DDS-4 oldVolume=TestVolume002 volume=TestVolume001 slot=0
-run job=$JobName yes
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-@sleep 1
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-@sleep 1
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-@sleep 1
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-@sleep 1
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-list volumes
-messages
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-#
-# Now do a second backup after making a few changes
-#
-touch ${cwd}/build/src/dird/*.c
-echo "test test" > ${cwd}/build/src/dird/xxx
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-list volumes
-run job=$JobName yes
-wait
-list volumes
-messages
-@#
-@# now do a second restore
-@#
-@$out tmp/log2.out
-list volumes
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-list volumes
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-TestName="backup-bacula-test"
-JobName=backup
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-confs
-
-change_jobname Client1 $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label volume=TestVolume001
-@#setdebug level=100 storage=File
-run job=$JobName yes
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-@sleep 1
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-@sleep 1
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape then restore it, we do that twice to ensure that
-# we can correctly append to a tape.
-#
-TestName="backup-win32-tape"
-JobName=backupwintape
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-win32-confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=NightlySave yes
-@sleep 10
-status storage=DDS-4
-@sleep 30
-messages
-wait
-messages
-@#
-@# now do a restore
-@#
-@$outt tmp/log2.out
-@#restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-@#yes
-@#wait
-@#messages
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory but
-# split the archive into two volumes, then build a BSR with
-# the restore command and use bextract to restore the files.
-#
-TestName="bextract-test"
-JobName="bextract"
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File1 volume=TestVolume001
-label storage=File1 volume=TestVolume002
-update Volume=TestVolume001 MaxVolBytes=3000000
-@#setdebug level=400 dir
-@#setdebug level=400 storage=File1
-run job=$JobName storage=File1 yes
-wait
-messages
-@#
-@# now build the bsr file
-@#
-@$out tmp/log2.out
-restore bootstrap=${cwd}/working/restore.bsr where=${cwd}/tmp/bacula-restores select all storage=File1 done
-no
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File1
-stop_bacula
-
-mkdir -p ${cwd}/tmp/bacula-restores
-bin/bextract -b working/restore.bsr -c bin/bacula-sd.conf ${cwd}/tmp ${cwd}/tmp/bacula-restores 2>&1 >/dev/null
-rstat=$?
-grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
-bstat=$?
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then
-# do a bscan and restore.
-# It should require at least 4 different bsrs.
-#
-TestName="bscan-tape"
-JobName=bscantape
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-# sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-setdebug level=2 storage=DDS-4
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-echo "Starting Bacula tape writing"
-#bin/btape -c bin/bacula-sd.conf /dev/nst0 <<END_OF_DATA
-#rewind
-#label
-#Test001
-#wr
-#wr
-#wr
-#wr
-#wr
-#wr
-#weof
-#quit
-#END_OF_DATA
-#run_bacula
-#check_for_zombie_jobs storage=DDS-4
-#stop_bacula
-echo "End writing tape"
-
-#
-# now drop and recreate the database
-#
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
-
-echo "Begin attempt to read tape that crashes the system"
-echo "volume=TestVolume001" >tmp/bscan.bsr
-strace -o strace.new bin/bscan -d200 -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4
-exit
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log2.out
-@#
-@# now do a restore
-@#
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-rm -f ${cwd}/build/src/lib/dummy
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then
-# do a bscan and restore.
-# It should require at least 4 different bsrs.
-#
-TestName="bscan-tape"
-JobName=bscantape
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-estimate job=$JobName listing
-estimate job=$JobName listing
-estimate job=$JobName listing
-messages
-@$out tmp/log1.out
-setdebug level=2 storage=DDS-4
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-run job=$JobName level=Full yes
-wait
-run job=$JobName level=Full yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-
-echo "Backup 1 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-
-#
-# run a second job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-scripts/check_for_zombie_jobs storage=DDS-4
-
-echo "Backup 2 done"
-touch ${cwd}/build/src/dird/*.c
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#
-# run a third job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-scripts/check_for_zombie_jobs storage=DDS-4
-
-echo "Backup 3 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#echo "abc" > ${cwd}/build/src/lib/dummy
-#
-# run a fourth job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-
-scripts/check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-echo "Backup 4 done"
-#
-# now drop and recreate the database
-#
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
-
-echo "volume=TestVolume001" >tmp/bscan.bsr
-bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 2>&1 >/dev/null
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log2.out
-@#
-@# now do a restore
-@#
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-rm -f ${cwd}/build/src/lib/dummy
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory but
-# split the archive into two volumes then bscan it
-# into the catalog after the backup. It also to a limited
-# extent tests the purge volume and delete volume commands.
-#
-
-TestName="bscan-test"
-JobName=bscan
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File1
-TestVolume001
-label storage=File1
-TestVolume002
-update Volume=TestVolume001 MaxVolBytes=3000000
-run job=$JobName storage=File1
-yes
-wait
-messages
-@$out /dev/null
-@#
-@# now purge the Volume
-@#
-purge volume=TestVolume001
-purge volume=TestVolume002
-delete volume=TestVolume001
-yes
-delete volume=TestVolume002
-yes
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File1
-stop_bacula
-
-echo "volume=TestVolume001|TestVolume002" >tmp/bscan.bsr
-
-if test "$debug" -eq 1 ; then
- bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf ${cwd}/tmp
-else
- bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf ${cwd}/tmp 2>&1 >/dev/null
-fi
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log2.out
-@#
-@# now do a restore
-@#
-@#setdebug level=400 storage=File1
-restore bootstrap=${cwd}/tmp/kern.bsr where=${cwd}/tmp/bacula-restores select all storage=File1 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-# now run restore
-run_bacula
-check_for_zombie_jobs storage=File1
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory but
-# split the archive into two volumes, then restore
-# files on only one of the volumes and ensure that
-# the other volume is not used. I.e. bsr optimization
-# works.
-#
-TestName="bsr-opt-test"
-JobName=bsr-opt
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File1 volume=TestVolume001
-label storage=File1 volume=TestVolume002
-update Volume=TestVolume001 MaxVolBytes=3000000
-run job=$JobName storage=File1 yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore bootstrap=${cwd}/working/restore.bsr where=${cwd}/tmp/bacula-restores select storage=File1
-unmark *
-cd ${cwd}/build/src/cats
-mark *
-ls
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File1
-stop_bacula
-#
-# This test is not really reliable. What we want to do is
-# to select files on only one Volume, then insure here
-# that only one Volume is chosen.
-#
-grep TestVolume002 working/restore.bsr 2>&1 >/dev/null
-bsrstat=$?
-check_two_logs
-
-diff -r build/src/cats tmp/bacula-restores${cwd}/build/src/cats 2>&1 >/dev/null
-if [ $? != 0 -o $bsrstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
- echo " "
- echo " "
- echo " !!!!! bsr-opt-test Bacula source failed!!! !!!!! "
- echo " !!!!! bsr-opt-test failed!!! !!!!! " >>test.out
- if [ $bstat != 0 -o $rstat != 0 ] ; then
- echo " !!!!! Bad Job termination status !!!!! "
- echo " !!!!! Bad Job termination status !!!!! " >>test.out
- elif [ $bsrstat != 0 ] ; then
- echo " !!!!! Volume selection error !!!!! "
- echo " !!!!! Volume selection error !!!!! " >>test.out
- else
- echo " !!!!! Restored files differ !!!!! "
- echo " !!!!! Restored files differ !!!!! " >>test.out
- fi
- echo " "
-else
- echo " ===== bsr-opt-test Bacula source OK `date +%R:%S` ===== "
- echo " ===== bsr-opt-test OK `date +%R:%S` ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Test the fill command in btape
-#
-TestName="btape-fill-full-tape"
-JobName=AutoLabel
-. scripts/functions
-set_debug 0
-
-scripts/copy-tape-confs
-scripts/cleanup-tape
-
-change_jobname $JobName
-start_test
-
-bin/btape -c bin/bacula-sd.conf DDS-4 <<END_OF_DATA 2>&1 >tmp/log1.out
-fill
-s
-
-quit
-END_OF_DATA
-
-
-grep "^The last block on the tape matches\. Test succeeded\." tmp/log1.out 2>&1 >/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " !!!!! btape fill test failed!!! !!!!! "
- echo " !!!!! btape fill test failed!!! !!!!! " >>test.out
- echo " "
-else
- echo " ===== btape fill test OK ===== "
- echo " ===== btape fill test OK ===== " >>test.out
-# scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Test the fill command in btape
-#
-TestName="btape-fill-tape"
-JobName=filltape
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# MaximumVolumeSize% MaximumVolumeSize%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-fill
-s
-quit
-END_OF_DATA
-
-run_btape DDS-4
-
-grep "^The last block on the tape matches\. Test succeeded\." tmp/log1.out 2>&1 >/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " !!!!! btape fill test failed!!! !!!!! "
- echo " !!!!! btape fill test failed!!! !!!!! " >>test.out
- echo " "
-else
- echo " ===== btape fill test OK ===== "
- echo " ===== btape fill test OK ===== " >>test.out
-# scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup with encryption and compression of the Bacula build directory
-# then verify the signatures.
-#
-TestName="compressed-encrypt-test"
-JobName=CompressedTest
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-crypto-confs
-echo "${cwd}/build" >/tmp/file-list
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-setdebug level=10 fd
-run job=$JobName yes
-wait
-messages
-list volumes
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-@# setdebug level=0 fd
-restore where=${cwd}/tmp/bacula-restores storage=File
-5
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-sleep 2
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then restore it.
-#
-TestName="compressed-test"
-JobName=compressed
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output
-messages
-@$out tmp/log1.out
-status all
-status all
-messages
-label storage=File volume=TestVolume001
-run job=$JobName storage=File yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-grep " Software Compression" tmp/log1.out | grep "%" 2>&1 1>/dev/null
-if [ $? != 0 ] ; then
- echo " !!!!! No compression !!!!!"
- bstat=1
-fi
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run two jobs at the same time
-#
-
-TestName="concurrent-jobs-test"
-JobName=concurrent-jobs
-. scripts/functions
-set_debug 0
-
-copy_test_confs
-
-echo "${cwd}/tmp/largefile" >/tmp/file-list
-if test -c /dev/urandom ; then
-# Create 56MB file with random data
- echo "Creating a 56MB file with random data ..."
- dd if=/dev/urandom of=${cwd}/tmp/largefile bs=1024 count=55000
-else
- echo "Creating a 56MB file with bacula-dir data ..."
- dd if=bin/bacula-dir of=${cwd}/tmp/1 bs=1024 count=1000
- cat ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 >${cwd}/tmp/2
- rm -f ${cwd}/tmp/1
- cat ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 >>${cwd}/tmp/3
- rm -f ${cwd}/tmp/2
- cat ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 >${cwd}/tmp/largefile
- rm -f ${cwd}/tmp/3
-fi
-
-echo "largefile created"
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName level=Full yes
-run job=$JobName level=Full yes
-run job=$JobName level=Full yes
-run job=$JobName level=Full yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-diff tmp/largefile tmp/bacula-restores${cwd}/tmp/largefile 2>&1 >/dev/null
-dstat=$?
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup with encryption and no other options
-# (i.e. no compression and no sparse handling) of the
-# Bacula build directory.
-#
-TestName="data-encrypt-test"
-JobName=Crypto
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-crypto-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-@#setdebug level=10 fd
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-@#setdebug level=10 fd
-restore where=${cwd}/tmp/bacula-restores storage=File
-5
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-sleep 2
-check_for_zombie_jobs storage=File
-stop_bacula
-
-du -s build
-du -s tmp/bacula-restores/
-
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-MUID=`/usr/bin/id -u`
-if [ $MUID != 0 ] ; then
- echo " "
- echo "You must be root to run this test."
- echo " ===== !!!! dev-test-root not run !!!! ===== "
- echo " ===== !!!! dev-test-root not run !!!! ===== " >>test.out
- echo " "
- exit 1
-fi
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "/dev" >/tmp/file-list
-
-echo " "
-echo " "
-echo " === Starting dev-test-root test ==="
-echo " "
-echo " === Note, this test can fail for trivial ==="
-echo " === reasons on non-Linux systems. ==="
-echo " "
-echo " "
-
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=File volume=TestVolume001
-run job=NightlySave yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test dev >${cwd}/tmp/original
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test dev >${cwd}/tmp/restored
-cd ${cwd}/tmp
-#
-# Use sed to cut out parts that *always* change
-#
-cat >sed.scr <<END_OF_DATA
-s%.*dev$%dev%
-s%.*[0-9][0-9]:[0-9][0-9]:[0-9][0-9] dev/ptmx%dev/ptmx%
-s%.*[0-9][0-9]:[0-9][0-9]:[0-9][0-9] dev/ttyp1%dev/ttyp1%
-s%.*[0-9][0-9]:[0-9][0-9]:[0-9][0-9] dev/null%dev/null%
-END_OF_DATA
-
-# strip file system change messages then sed and sort
-grep -v "Skip: File system change prohibited." original >1
-sed -f sed.scr 1 | sort >original
-#
-mv -f restored 1
-sed -f sed.scr 1 | sort >restored
-rm -f sed.scr
-#
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== !!!! dev-test-root failed !!!! ===== "
- echo " ===== !!!! dev-test-root failed !!!! ===== " >>test.out
- echo " "
-else
- echo " ===== dev-test-root OK ===== "
- echo " ===== dev-test-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do a differential and restore those two files.
-#
-TestName="differential-test"
-JobName=differential
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/tmp/build" >/tmp/file-list
-mkdir ${cwd}/tmp/build
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume002
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-
-scripts/check_for_zombie_jobs storage=File
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-@# Force differential on the second Volume
-update volume=TestVolume002 VolStatus=Used
-run level=differential job=$JobName yes
-wait
-messages
-@$out
-END_OF_DATA
-
-run_bconsole
-
-scripts/check_for_zombie_jobs storage=File
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run level=incremental job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=File file=<${cwd}/tmp/restore-list
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-scripts/check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-#
-# Delete .c files because we will only restore the txt files
-#
-rm -f tmp/build/*.c
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to two tapes where the maximum tape file size is set to 1M
-#
-TestName="eot-fail-tape"
-JobName=eotfailtape
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-out="tmp/sed_tmp"
-echo "s%# Maximum File Size% Maximum File Size%g" >${out}
-cp -f ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed -f ${out} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-update Volume=TestVolume001 MaxVolBytes=3000000
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@tee
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-MUID=`/usr/bin/id -u`
-if [ $MUID != 0 ] ; then
- echo " "
- echo "You must be root to run this test."
- echo " ===== !!!! etc-test-root not run !!!! ===== "
- echo " ===== !!!! etc-test-root not run !!!! ===== " >>test.out
- echo " "
- exit 1
-fi
-echo " "
-echo " "
-echo " === Starting /etc save/restore test ==="
-echo " "
-echo " "
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "/etc" >/tmp/file-list
-
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=File
-TestVolume001
-run job=NightlySave
-yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test etc >${cwd}/tmp/1
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test etc >${cwd}/tmp/2
-sort <${cwd}/tmp/1 >${cwd}/tmp/original
-sort <${cwd}/tmp/2 >${cwd}/tmp/restored
-rm -f ${cwd}/tmp/1 ${cwd}/tmp/2
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== !!!! etc-test-root failed !!!! ===== "
- echo " ===== !!!! etc-test-root failed !!!! ===== " >>test.out
- echo " "
-else
- echo " ===== etc-test-root OK ===== "
- echo " ===== etc-test-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape where we set the minimum and maximum block
-# sizes.
-#
-TestName="fixed-block-size-tape"
-JobName=fixedblocksize
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-echo "s%# Maximum Block Size% Maximum Block Size%" >${cwd}/tmp/2
-echo "s%# Minimum Block Size% Minimum Block Size%" >>${cwd}/tmp/2
-sed -f ${cwd}/tmp/2 ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo "!!!! sed problem in Fixed Block Size test !!!!!"
- echo " "
- exit 1
-fi
-rm -f ${cwd}/tmp/1 ${cwd}/tmp/2
-
-change_jobname NightlySave $JobName
-start_test
-
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DDS-4
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run four jobs at the same time
-#
-TestName="four-concurrent-jobs-tape"
-JobName=FourConcurrentJobs
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName level=Full Storage=DDS-4 yes
-run job=$JobName level=Full Storage=DDS-4 yes
-run job=$JobName level=Full Storage=DDS-4 yes
-run job=$JobName level=Full Storage=DDS-4 yes
-@sleep 2
-status dir
-@sleep 5
-status dir
-status storage=DDS-4
-messages
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DDS-4
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run two jobs at the same time
-#
-TestName="four-concurrent-jobs-test"
-JobName=Four-concurrent-jobs
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File1
-TestVolume001
-label storage=File1
-TestVolume002
-update Volume=TestVolume001 MaxVolBytes=100000000
-@#50000000
-@#12
-run job=$JobName level=Full Storage=File1
-yes
-reload
-run job=$JobName level=Full Storage=File1
-yes
-reload
-run job=$JobName level=Full Storage=File1
-yes
-reload
-run job=$JobName level=Full Storage=File1
-yes
-reload
-reload
-reload
-reload
-@sleep 2
-status dir
-reload
-@sleep 5
-messages
-reload
-reload
-wait
-reload
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File1
-unmark *
-mark *
-done
-yes
-wait
-reload
-reload
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File1
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then finally restore.
-# It should require at least 4 different bsrs.
-#
-TestName="four-jobs-tape"
-JobName=fourjobstape
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-estimate job=$JobName listing
-estimate job=$JobName listing
-estimate job=$JobName listing
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-
-scripts/check_for_zombie_jobs storage=DDS-4
-echo "Backup 1 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-
-#
-# run a second job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-
-scripts/check_for_zombie_jobs storage=DDS-4
-echo "Backup 2 done"
-touch ${cwd}/build/src/dird/*.c
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#
-# run a third job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-
-scripts/check_for_zombie_jobs storage=DDS-4
-echo "Backup 3 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#
-# run a fourth job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-
-scripts/check_for_zombie_jobs storage=DDS-4
-echo "Backup 4 done"
-#
-# now do several restores to ensure we cleanup between jobs
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-@$out tmp/log2.out
-@#
-@# now unmount the tape and start two restores
-@# at the same time
-@#
-unmount storage=DDS-4
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-restore where=${cwd}/tmp/bacula-restores select
-unmark *
-mark *
-done
-yes
-mount storage=DDS-4
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then finally restore.
-# It should require at least 4 different bsrs.
-#
-TestName="four-jobs-test"
-JobName=SpanVol
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-estimate job=$JobName listing
-estimate job=$JobName listing
-estimate job=$JobName listing
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-echo "Backup 1 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-
-#
-# run a second job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName
-yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=File
-
-echo "Backup 2 done"
-touch ${cwd}/build/src/dird/*.c
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#
-# run a third job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=File
-
-echo "Backup 3 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#
-# run a fourth job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=File
-
-echo "Backup 4 done"
-#
-# now do several restores to ensure we cleanup between jobs
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-restore where=${cwd}/tmp/bacula-restores select all storage=File done
-yes
-wait
-restore where=${cwd}/tmp/bacula-restores select all storage=File done
-yes
-wait
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the Sparse option
-# then restore it.
-#
-TestName="gigaslam-sparse-test"
-JobName=SparseTest
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-cd ${cwd}/build/src/tools
-./gigaslam
-if [ $? != 0 ]; then
- echo "Execute of ${cwd}/build/src/tools/gigaslam failed."
- rm -f ${cwd}/build/src/tools/gigaslam.gif
- exit 1
-fi
-cd ${cwd}
-
-start_test
-
-cat >tmp/bconcmds <<END_OF_DATA
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-list volumes
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-size=`du ${cwd}/tmp/bacula-restores/${cwd}/build/src/tools/gigaslam.gif | cut -f 1`
-if [ $size -gt 120 ]; then
- echo "========== restored sparse file gigaslam.gif too big ========="
- echo " size is ${size}K it should be 120K"
-fi
-
-check_two_logs
-check_restore_diff
-end_test
-rm -f ${cwd}/build/src/tools/gigaslam.gif
-rm -f ${cwd}/build/gigaslam.gif
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-TestName="hardlink-test"
-JobName=hardlink
-. scripts/functions
-set_debug 0
-
-if test ! -d weird-files ; then
- echo " "
- echo "Weird files not configured. Test not run."
- exit 0
-fi
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-change_jobname NightlySave $JobName
-#
-# Note, we save the weird-files directory twice on purpose
-# because this causes problems with hard linked files
-# that are only saved once. In 1.33, Bacula now deals
-# with this situation.
-#
-echo "${cwd}/weird-files" >/tmp/file-list
-echo "${cwd}/weird-files" >>/tmp/file-list
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File
-TestVolume001
-run job=$JobName
-yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=File
-5
-cd ${cwd}/weird-files/subdir
-mark another-hardlink
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-diff ${cwd}/weird-files/subdir/another-hardlink \
- ${cwd}/tmp/bacula-restores/${cwd}/weird-files/subdir/another-hardlink 2>&1 >/dev/null
-dstat=$?
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do an Incremental and restore those two files.
-#
-# This script uses the virtual disk autochanger
-#
-TestName="incremental-2disk"
-JobName=Inc2disk
-. scripts/functions
-set_debug 0
-
-. config.out
-
-stop_bacula
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
-
-scripts/copy-2disk-confs
-scripts/prepare-two-disks
-
-echo "${cwd}/tmp/build" >/tmp/file-list
-if test ! -d ${cwd}/tmp/build ; then
- mkdir ${cwd}/tmp/build
-fi
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-change_jobname $JobName
-start_test
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=0
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-run level=Incremental job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-
-check_for_zombie_jobs storage=File
-stop_bacula
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-
-check_two_logs
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do an Incremental and restore those two files.
-#
-# This script uses the autochanger and two tapes
-#
-. config.out
-if test x${AUTOCHANGER} = x/dev/null ; then
- echo "incremental-2tape test skipped. No autochanger."
- exit
-fi
-debug=0
-if test "$debug" -eq 1 ; then
- out="tee"
-else
- out="output"
-fi
-cwd=`pwd`
-bin/bacula stop 2>&1 >/dev/null
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
-
-scripts/copy-2tape-confs
-scripts/cleanup-2tape
-echo "${cwd}/tmp/build" >/tmp/file-list
-if test ! -d ${cwd}/tmp/build ; then
- mkdir ${cwd}/tmp/build
-fi
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-echo " "
-echo " "
-echo " === Starting incremental-2tape test ==="
-echo " === Starting incremental-2tape test ===" >>working/log
-echo " "
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=0
-run job=NightlySave yes
-wait
-messages
-quit
-END_OF_DATA
-
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@$out /dev/null
-messages
-@$out tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-run level=Incremental job=NightlySave yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
-bstat=$?
-grep "^ Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
-rstat=$?
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null
-if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
- echo " "
- echo " "
- echo " !!!!! incremental-2tape test Bacula source failed!!! !!!!! "
- echo " !!!!! incremental-2tape test failed!!! !!!!! " >>test.out
- echo " "
-else
- echo " ===== incremental-2tape test Bacula source OK ===== "
- echo " ===== incremental-2tape test OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do an Incremental and restore those two files.
-#
-TestName="incremental-tape"
-JobName=IncTape
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/tmp/build" >/tmp/file-list
-if test ! -d ${cwd}/tmp/build ; then
- mkdir ${cwd}/tmp/build
-fi
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=Incremental job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=DDS-4
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-
-check_two_logs
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do an Incremental and restore those two files.
-#
-TestName="incremental-test"
-JobName=Incremental
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/tmp/build" >/tmp/file-list
-mkdir ${cwd}/tmp/build
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-label storage=File volume=TestVolume002
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-#
-# Now create two new files to be restored later
-#
-sleep 1
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-cp -f ${cwd}/tmp/build/dird.c ${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-run level=Differential job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-
-sleep 1
-touch ${cwd}/tmp/build/ficheriro1.txt
-touch ${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=Incremental job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-
-sleep 1
-cd ${cwd}/tmp/build
-cp -f ficheriro2.txt 1
-sed "s%a%b%g" 1 >ficheriro2.txt
-rm -f 1
-cd ${cwd}
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=Differential job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-
-sleep 1
-touch ${cwd}/tmp/build/ficheriro1.txt
-touch ${cwd}/tmp/build/ficheriro2.txt
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=Incremental job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-
-sleep 1
-touch ${cwd}/tmp/build/ficheriro1.txt
-touch ${cwd}/tmp/build/ficheriro2.txt
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=Incremental job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-
-sleep 1
-touch ${cwd}/tmp/build/ficheriro1.txt
-touch ${cwd}/tmp/build/ficheriro2.txt
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=Incremental job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-sleep 1
-touch ${cwd}/tmp/build/ficheriro1.txt
-touch ${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=Incremental job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=File file=<${cwd}/tmp/restore-list
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the /lib directory
-# then restore it.
-#
-cwd=`pwd`
-bin/bacula stop 2>&1 >/dev/null
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-echo "/lib" >/tmp/file-list
-echo " "
-echo " "
-echo " === Starting lib-tape-root test ==="
-echo " "
-echo " "
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=DDS-4 Volume=TestVolume001 slot=0
-run job=NightlySave yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored
-cd ${cwd}/tmp
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1
-sort <1 >original
-#
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1
-sort <1 >restored
-rm -f 1
-#
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/nul
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== lib-tape-root failed!!! ===== "
- echo " ===== lib-tape-root failed!!! ===== " >>test.out
- echo " "
-else
- echo " ===== lib-tape-root OK ===== "
- echo " ===== lib-tape-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-MUID=`/usr/bin/id -u`
-if [ $MUID != 0 ] ; then
- echo " "
- echo "You must be root to run this test."
- echo " ===== !!!! lib-test-root not run !!!! ===== "
- echo " ===== !!!! lib-test-root not run !!!! ===== " >>test.out
- echo " "
- exit 1
-fi
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "/lib" >/tmp/file-list
-
-echo " "
-echo " "
-echo " === Starting /lib save/restore test ==="
-echo " "
-echo " "
-
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=File
-TestVolume001
-run job=NightlySave
-yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-lib-test lib >${cwd}/tmp/original
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-lib-test lib >${cwd}/tmp/restored
-cd ${cwd}/tmp
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1
-sort <1 >original
-#
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1
-sort <1 >restored
-rm -f 1
-#
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/nul
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== !!!! lib-test-root failed !!!! ===== "
- echo " ===== !!!! lib-test-root failed !!!! ===== " >>test.out
- echo " "
-else
- echo " ===== lib-test-root OK ===== "
- echo " ===== lib-test-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then migrate it
-# to another device.
-#
-# This script uses the virtual disk autochanger
-#
-TestName="migration-job-test"
-JobName=MigrationJobSave
-. scripts/functions
-set_debug 0
-
-. config.out
-
-scripts/cleanup
-scripts/copy-migration-confs
-scripts/prepare-two-disks
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-#
-# Note, we first backup into Pool Default,
-# then Migrate into Pool Full.
-# Pool Default uses Storage=File
-# Pool Full uses Storage=DiskChanger
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output
-messages
-@$out tmp/log1.out
-label storage=File volume=FileVolume001 Pool=Default
-label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
-label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
-@# run two jobs (both will be migrated)
-run job=$JobName yes
-run job=$JobName yes
-wait
-list jobs
-list volumes
-@#setdebug level=100 dir
-@# should migrate two jobs
-run job=migrate-job yes
-wait
-messages
-@# purge volume=FileVolume001
-list jobs
-list volumes
-wait
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then migrate it
-# to another device.
-#
-# Test migrating a job that spans two Volumes
-#
-# This script uses the virtual disk autochanger
-#
-TestName="migration-jobspan-test"
-JobName=MigrationJobSpanSave
-. scripts/functions
-set_debug 0
-
-. config.out
-
-scripts/cleanup
-scripts/copy-migration-confs
-scripts/prepare-two-disks
-echo "${cwd}/build" >/tmp/file-list
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-
-change_jobname NightlySave $JobName
-start_test
-
-#
-# Note, we first backup into Pool Default,
-# then Migrate into Pool Full.
-# Pool Default uses Storage=File
-# Pool Full uses Storage=DiskChanger
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output
-messages
-@$out tmp/log1.out
-@#setdebug level=10 dir
-@#setdebug level=100 storage=File
-label storage=File volume=FileVolume001 Pool=Default
-label storage=File volume=FileVolume002 Pool=Default
-update Volume=FileVolume001 MaxVolBytes=3000000 pool=Default
-label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
-label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
-list volumes
-@#
-run job=$JobName yes
-@#run job=$JobName yes
-wait
-list volumes
-@#setdebug level=200 dir
-@# should migrate both Volumes
-run job=migrate-job yes
-wait
-purge volume=FileVolume001
-purge volume=FileVolume002
-list volumes
-list jobs
-messages
-wait
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then migrate it
-# to another device.
-#
-# This script uses the virtual disk autochanger
-#
-TestName="migration-occupancy-test"
-JobName=MigrationJobSave
-. scripts/functions
-set_debug 0
-
-. config.out
-
-scripts/cleanup
-scripts/copy-migration-confs
-scripts/prepare-two-disks
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-#
-# Note, we first backup into Pool Default,
-# then Migrate into Pool Full.
-# Pool Default uses Storage=File
-# Pool Full uses Storage=DiskChanger
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output
-messages
-@$out tmp/log1.out
-label storage=File volume=FileVolume001 Pool=Default
-label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
-label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
-list volumes
-@# run two jobs (both will be migrated)
-run job=$JobName yes
-run job=$JobName yes
-wait
-update volume=FileVolume001 VolStatus=Used
-list volumes
-@# should migrate two jobs
-run job=migrate-occupancy yes
-list volumes
-wait
-messages
-purge volume=FileVolume001
-wait
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then migrate it
-# to another device.
-#
-# This script uses the virtual disk autochanger
-#
-TestName="migration-time-test"
-JobName=MigrationJobSave
-. scripts/functions
-set_debug 0
-
-. config.out
-
-scripts/cleanup
-scripts/copy-migration-confs
-scripts/prepare-two-disks
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-#
-# Note, we first backup into Pool Default,
-# then Migrate into Pool Full.
-# Pool Default uses Storage=File
-# Pool Full uses Storage=DiskChanger
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output
-messages
-@$out tmp/log1.out
-label storage=File volume=FileVolume001 Pool=Default
-label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
-label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
-list volumes
-@# run three jobs
-run job=$JobName level=Full yes
-run job=$JobName level=Full yes
-run job=$JobName level=Full yes
-wait
-update volume=FileVolume001 VolStatus=Used
-sql
-update Job SET RealEndTime='2004-01-01 12:01:01' WHERE JobId IN (2,3);
-
-llist jobid=2,3
-list jobs
-list volumes
-@# should migrate only jobid=2 and 3
-run job=migrate-time yes
-wait
-messages
-wait
-purge volume=FileVolume001
-list jobs
-list volumes
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a backup of the Bacula build directory on two Volumes
-# then migrate it to another device.
-#
-# This script uses the virtual disk autochanger
-#
-TestName="migration-volume-test"
-JobName=MigVolBackup
-. scripts/functions
-set_debug 0
-
-. config.out
-
-scripts/cleanup
-scripts/copy-migration-confs
-scripts/prepare-two-disks
-echo "${cwd}/build" >/tmp/file-list
-#cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-#sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-#
-# Note, we first backup into Pool Default,
-# then Migrate into Pool Full.
-# Pool Default uses Storage=File
-# Pool Full uses Storage=DiskChanger
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output
-messages
-@$out tmp/log1.out
-label storage=File volume=FileVolume001 Pool=Default
-label storage=File volume=FileVolume002 Pool=Default
-update Volume=FileVolume001 MaxVolBytes=3000000 pool=Default
-label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
-label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
-@#
-run job=$JobName yes
-wait
-run job=$JobName yes
-wait
-update volume=FileVolume001 VolStatus=Used
-update volume=FileVolume002 VolStatus=Used
-@#list volumes
-@#list jobs
-@# should migrate two jobs
-@# setdebug level=11 dir
-@echo "Run migrate-volume Job"
-@#setdebug level=100 dir
-run job=migrate-volume yes
-@sleep 5
-list jobs
-llist jobid=1
-llist jobid=2
-llist jobid=3
-llist jobid=4
-llist jobid=5
-status storage=DiskChanger
-wait
-list volumes
-list jobs
-llist jobid=1
-llist jobid=2
-llist jobid=3
-llist jobid=4
-llist jobid=5
-sql
-select * from JobMedia where JobId=1;
-
-@# Now run a second Migration job, which should do nothing
-run job=migrate-volume yes
-wait
-list jobs
-@# ensure we don't pickup old backup by purging volume
-@# purge volume=FileVolume001
-@# purge volume=FileVolume002
-@echo "Now do a restore"
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-exit
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do a Differental then a bunch of query commands
-# and finally restore the two files.
-#
-TestName="query-test"
-JobName=query
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/tmp/build" >/tmp/file-list
-mkdir ${cwd}/tmp/build
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-label storage=File volume=TestVolume002
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-@# Force differental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-run level=differental job=$JobName yes
-wait
-messages
-@output
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=incremental job=$JobName yes
-wait
-messages
-@#
-@# Now do the queries
-@#
-query
-1
-ficheriro1.txt
-query
-2
-${cwd}/tmp/build/
-ficheriro1.txt
-localhost-fd
-query
-6
-TestVolume001
-query
-7
-1
-query
-8
-localhost-fd
-query
-9
-Default
-query
-10
-query
-11
-query
-12
-1
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=File file=<${cwd}/tmp/restore-list
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-
-check_two_logs
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory but
-# create three volumes and do six backups causing the
-# volumes to be recycled, and cycling through the volumes
-# twice. Tests maxvoljobs and volretention.
-#
-TestName="recycle-test"
-JobName=Recycle
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File1 volume=TestVolume001
-label storage=File1 volume=TestVolume002
-label storage=File1 volume=TestVolume003
-update Volume=TestVolume001 volretention=10s
-update Volume=TestVolume001 maxvoljobs=1
-update Volume=TestVolume002 volretention=10s
-update Volume=TestVolume002 maxvoljobs=1
-update Volume=TestVolume003 volretention=10s
-update Volume=TestVolume003 maxvoljobs=1
-list volumes
-run job=$JobName storage=File1 level=full yes
-wait
-messages
-list volumes
-run job=$JobName storage=File1 level=full yes
-wait
-messages
-list volumes
-run job=$JobName storage=File1 level=full yes
-wait
-messages
-list volumes
-@sleep 10
-run job=$JobName storage=File1 level=full yes
-wait
-messages
-list volumes
-run job=$JobName storage=File1 level=full yes
-wait
-messages
-list volumes
-run job=$JobName storage=File1 level=full yes
-wait
-messages
-list volumes
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File1
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File1
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then finally restore.
-# It should require at least 4 different bsrs.
-#
-TestName="relabel-tape"
-JobName=Relabeltape
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName level=Full yes
-wait
-messages
-add pool=Default
-0
-TestVolume002
-@# set status to append
-update volume=TestVolume001
-1
-.
-run job=NightlySave level=Full yes
-@sleep 20
-unmount
-unmount
-purge volume=TestVolume001
-relabel oldvolume=TestVolume001 volume=TestVolume003 slot=0 pool=Default
-list volumes
-mount
-messages
-wait
-run job=$JobName level=Full yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-
-
-echo "Backup done"
-#
-# now do several restores to ensure we cleanup between jobs
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-@$out tmp/log2.out
-@#
-@# now unmount the tape and start two restores
-@# at the same time
-@#
-unmount storage=DDS-4
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-restore where=${cwd}/tmp/bacula-restores select
-unmark *
-mark *
-done
-yes
-mount storage=DDS-4
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape where the maximum tape file size is set to 1M
-# then restore a few files from it. Note, by setting the maximum
-# file size to 1M, it runs very slow. There are about 64 files that
-# are created during each of the two backups.
-#
-TestName="restore-by-file-tape"
-JobName=restorebyfile
-. scripts/functions
-set_debug 0
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-sed s%\^%${cwd}% ${cwd}/scripts/flist >${cwd}/tmp/restore2-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName level=Full yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=DDS-4 file=<${cwd}/tmp/restore2-list
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-dstat=0
-#
-# We need to stop and start Bacula to
-# test appending to a previously written tape
-#
-for i in `cat ${cwd}/tmp/restore2-list`; do
- diff $i ${cwd}/tmp/bacula-restores$i
- if [ $? != 0 ] ; then
- dstat=1
- fi
-done
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Full yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-7
-<${cwd}/tmp/restore2-list
-
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-#
-# Bacula was stopped, but we must restart it to
-# test appending to a previously written tape
-#
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-
-scripts/check_for_zombie_jobs storage=DDS-4
-bin/bacula stop 2>&1 >/dev/null
-for i in `cat ${cwd}/tmp/restore2-list`; do
- diff $i ${cwd}/tmp/bacula-restores$i
- if [ $? != 0 ] ; then
- dstat=1
- fi
-done
-
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then restore it.
-#
-
-TestName="restore-by-file-test"
-JobName=restorebyfile
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/tmp/build" >/tmp/file-list
-mkdir ${cwd}/tmp/build
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp/build
-ls >../1
-cd ..
-sed s%\^%${cwd}/tmp/build/% 1 >restore-list
-rm -f 1
-cd ${cwd}
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=File
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a backup of the full bacula build directory, but with the
-# Maximum File Size set. Then do a restore of a few files to kick in
-# disk seeking (not yet enabled), and ensure that the restored files
-# match. Even though disk seeking is not yet enabled, this is a good test,
-# and once it is enabled, this will test it.
-#
-TestName="restore-disk-seek-test"
-JobName=restore-disk-seek
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/tmp/build" >/tmp/file-list
-rm -rf ${cwd}/tmp/build
-mkdir ${cwd}/tmp/build
-# Copy only the .c files (to be restored)
-# set files to "*.c" for all c files
-files="ua_tree.c ua_update.c"
-# files="*.c"
-for i in ${files}; do
- cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build
-done
-cd ${cwd}/tmp/build
-ls >../1
-cd ..
-sed s%\^%${cwd}/tmp/build/% 1 >restore-list
-#
-# At this point restore-list contains the list
-# of files we will restore
-#
-rm -f 1
-cd ${cwd}
-#
-# Now arrange to backup *everything*
-#
-rm -rf ${cwd}/tmp/build
-mkdir ${cwd}/tmp/build
-cp -fp ${cwd}/build/src/dird/* ${cwd}/tmp/build
-#
-# Enable MaximumFileSize to ensure lots of JobMedia records and thus
-# lots of seeking
-#
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-setdebug level=30 fd
-setdebug level=11 storage=File
-sql
-@# print the JobMedia records
-select * from JobMedia;
-
-restore bootstrap=${cwd}/tmp/kern.bsr where=${cwd}/tmp/bacula-restores storage=File
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-# Now setup a control directory of only what we *should* restore
-rm -rf ${cwd}/tmp/build
-mkdir ${cwd}/tmp/build
-for i in ${files}; do
- cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build
-done
-
-check_two_logs
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape where the maximum tape file size is set to 1M
-# then restore a few files from it. Note, by setting the maximum
-# file size to 1M, it runs very slow. This tests the
-# seeking capability
-#
-TestName="restore-seek-tape"
-JobName=restore-tape-seek
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-echo "${cwd}/tmp/build" >/tmp/file-list
-rm -rf ${cwd}/tmp/build
-mkdir ${cwd}/tmp/build
-# Copy only the .c files (to be restored)
-# set files to "*.c" for all c files
-files="ua_tree.c ua_update.c"
-# files="*.c"
-for i in ${files}; do
- cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build
-done
-cd ${cwd}/tmp/build
-ls >../1
-cd ..
-sed s%\^%${cwd}/tmp/build/% 1 >restore-list
-#
-# At this point restore-list contains the list
-# of files we will restore
-#
-rm -f 1
-cd ${cwd}
-#
-# Now arrange to backup *everything*
-#
-rm -rf ${cwd}/tmp/build
-mkdir ${cwd}/tmp/build
-cp -fp ${cwd}/build/src/dird/* ${cwd}/tmp/build
-#
-# Enable MaximumFileSize to ensure lots of JobMedia records and thus
-# lots of seeking
-#
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size = 1000000% Maximum File Size = 10KB%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 pool=Default
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-setdebug level=30 fd
-setdebug level=10 storage=DDS-4
-sql
-@# print the JobMedia records
-select * from JobMedia;
-
-restore bootstrap=${cwd}/tmp/kern.bsr where=${cwd}/tmp/bacula-restores storage=DDS-4
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-# Now setup a control directory of only what we *should* restore
-rm -rf ${cwd}/tmp/build
-mkdir ${cwd}/tmp/build
-for i in ${files}; do
- cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build
-done
-
-check_two_logs
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then restore a few selected files.
-#
-TestName="restore2-by-file-test"
-JobName=restore2byfile
-. scripts/functions
-set_debug 0
-copy_test_confs
-
-echo "${cwd}/build" >/tmp/file-list
-sed s%\^%${cwd}% ${cwd}/scripts/flist >${cwd}/tmp/restore2-list
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=File file=<${cwd}/tmp/restore2-list
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-dstat=0
-for i in `cat ${cwd}/tmp/restore2-list`; do
- diff $i ${cwd}/tmp/bacula-restores$i
- if [ $? != 0 ] ; then
- dstat=1
- fi
-done
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Test if Bacula can automatically create a Volume label.
-#
-
-TestName="runscript-test"
-
-. scripts/functions
-set_debug 0
-copy_test_confs
-
-rm -f bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-dir.conf.testrunscript bin/bacula-dir.conf
-
-echo "${cwd}/build" >/tmp/file-list
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-label volume=TestVolume001
-@#setdebug level=100 storage=File
-@output tmp/log.RUN2.out
-run job=RUN_FD_WARNING yes
-wait
-@sleep 5
-messages
-run job=RUN_ALL_OK yes
-wait
-@sleep 5
-messages
-run job=RUN_FD_FAILED yes
-wait
-@sleep 5
-messages
-run job=RUN_DIR_FAILED yes
-wait
-@sleep 5
-messages
-st dir
-quit
-END_OF_DATA
-
-
-bin/bacula start
-cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf &> tmp/log.RUN1.out
-
-stop_bacula
-
-if grep -q 'dir: BeforeJob: run command "/bin/echo RunBeforeJob"' tmp/log.RUN1.out &&
- grep -q 'fd: ClientRunBeforeJob: ClientRunBeforeJob' tmp/log.RUN1.out &&
- grep -q 'fd: ClientAfterJob: run command "/bin/echo ClientRunAfterJob' tmp/log.RUN1.out &&
- grep -q 'dir: AfterJob: run command "/bin/echo RunAfterJob' tmp/log.RUN1.out
-then
- [ "$debug" -eq 1 ] && echo RUN_ALL_OK ok
-else
- echo "RUN_ALL_OK in error"
- rstat=1
-fi
-
-if grep -q 'dir: BeforeJob: run command "/bin/false RUN_DIR_FAILED"' tmp/log.RUN1.out &&
- grep -q 'dir: BeforeJob: RunAfterFailedJob' tmp/log.RUN1.out &&
- true # grep -q 'Backup OK -- with warnings' tmp/log.RUN1.out
-then
- [ "$debug" -eq 1 ] && echo RUN_DIR_FAILED ok
-else
- echo "RUN_DIR_FAILED in error"
- rstat=1
-fi
-
-if grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED1"' tmp/log.RUN1.out &&
- grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED2"' tmp/log.RUN1.out &&
- grep -q 'dir: AfterJob: run command "/bin/echo RunAfterFailedJob"' tmp/log.RUN1.out
-then
- [ "$debug" -eq 1 ] && echo RUN_FD_FAILED ok
-else
- echo "RUN_FD_FAILED in error"
- rstat=1
-fi
-
-if grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_WARNING"' tmp/log.RUN1.out &&
- grep -q 'Backup OK -- with warnings' tmp/log.RUN1.out
-then
- [ "$debug" -eq 1 ] && echo RUN_FD_WARNING ok
-else
- echo "RUN_FD_WARNING in error"
- rstat=1
-fi
-
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to two tapes where the maximum tape file size is set to 1M
-# Note, this test simulates the tape filling and writing to
-# the next tape. One minor wrinkle: we create the two tapes
-# in the Scratch pool, so they should be switched to the Default
-# Pool automatically.
-# We set TestVolume001 to not in the changer, so the algorithm
-# should find TestVolume002 and use it rather than blocking.
-#
-# Note we use the viritual disk autochanger
-#
-TestName="scratch-pool-test"
-JobName=scratch-pool
-. scripts/functions
-set_debug 0
-
-. config.out
-if test x${AUTOCHANGER} = x/dev/null ; then
- echo "two-volume-test skipped. No autochanger."
- exit
-fi
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-2disk-confs
-scripts/prepare-two-disks
-
-echo "${cwd}/build" >/tmp/file-list
-
-outf="tmp/sed_tmp"
-echo "s%# Maximum File Size% Maximum File Size%g" >${outf}
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Scratch drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Scratch drive=0
-update Volume=TestVolume001 MaxVolBytes=2000000 pool=Scratch drive=0
-update Volume=TestVolume001 inchanger=no pool=Scratch drive=0
-@#setdebug level=200 storage=DDS-4
-llist volume=TestVolume001
-llist volume=TestVolume002
-run job=$JobName yes
-wait
-messages
-list volumes
-llist volume=TestVolume001
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Create a 60MB file with random bytes. Back it up to 6 Volumes
-# each constrained to 10MB using the automatic labeling feature.
-#
-TestName="six-vol-test"
-JobName=SixVol
-. scripts/functions
-set_debug 0
-
-if test ! -c /dev/urandom ; then
- echo "No random device. Test skipped.\n"
- exit 0
-fi
-
-scripts/cleanup
-scripts/copy-testa-confs
-echo "${cwd}/tmp/largefile" >/tmp/file-list
-# Create 56MB file with random data
-echo "Creating a 56MB file with random data ..."
-dd if=/dev/urandom of=${cwd}/tmp/largefile bs=1024 count=55000
-echo "largefile created"
-
-change_jobname MultiVol $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName storage=File yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-diff tmp/largefile tmp/bacula-restores${cwd}/tmp/largefile 2>&1 >/dev/null
-dstat=$?
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape where the maximum tape file size is set to 1M
-#
-TestName="small-file-size-tape"
-JobName=smallfilesize
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-setdebug level=2 storage=DDS-4
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DDS-4
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory but
-# split the archive into four volumes, two of which are
-# totally full. I.e. make sure that bsr selects all tapes
-# including those fully spanned.
-#
-TestName="span-vol-test"
-JobName=SpanVol
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File1 volume=TestVolume004
-label storage=File1 volume=TestVolume003
-label storage=File1 volume=TestVolume002
-label storage=File1 volume=TestVolume001
-update Volume=TestVolume004 MaxVolBytes=3000000
-update Volume=TestVolume003 MaxVolBytes=3000000
-update Volume=TestVolume002 MaxVolBytes=3000000
-run job=$JobName storage=File1 yes
-wait
-list volumes
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File1
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File1
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the Sparse option
-# then restore it.
-#
-TestName="sparse-compressed-test"
-JobName=Sparse-conpressed
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-start_test
-
-cat >tmp/bconcmds <<END_OF_DATA
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=SparseCompressedTest yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=File done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup with encryption and a real sparse file.
-#
-TestName="sparse-encrypt-test"
-JobName=Crypto
-. scripts/functions
-set_debug 0
-
-scripts/cleanup
-scripts/copy-crypto-confs
-echo "${cwd}/build" >/tmp/file-list
-cd ${cwd}/build/src/tools
-./gigaslam
-if [ $? != 0 ]; then
- echo "Execute of ${cwd}/build/src/tools/gigaslam failed."
- rm -f ${cwd}/build/src/tools/gigaslam.gif
- exit 1
-fi
-cd ${cwd}
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-setdebug level=10 fd
-run job=$JobName yes
-wait
-messages
-list volumes
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-@# setdebug level=0 fd
-restore where=${cwd}/tmp/bacula-restores storage=File
-5
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-sleep 2
-check_for_zombie_jobs storage=File
-stop_bacula
-
-size=`du ${cwd}/tmp/bacula-restores/${cwd}/build/src/tools/gigaslam.gif | cut -f 1`
-if [ $size -gt 120 ]; then
- echo "========== restored sparse file: gigaslam.gif too big ========="
- echo " size is ${size}K it should be 120K"
-fi
-
-check_two_logs
-check_restore_diff
-end_test
-rm -f ${cwd}/build/src/tools/gigaslam.gif
-rm -r ${cwd}/build/gigaslam.gif
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the Sparse option
-# then restore it.
-#
-TestName="sparse-test"
-JobName=SparseTest
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-start_test
-
-cat >tmp/bconcmds <<END_OF_DATA
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-echo " " >test.out
-rm -f bin/working/*
+++ /dev/null
-#!/bin/sh
-#
-# Test for a tape truncation bug.
-#
-TestName="truncate-bug-tape"
-JobName=truncatebug
-. scripts/functions
-
-set_debug 0
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-@# do a bunch of saves so we have 12 files on the tape
-run job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-@#setdebug level=100 storage=DDS-4
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-scripts/check_for_zombie_jobs storage=DDS-4
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log2.out
-@#
-@# now do a restore
-@#
-restore where=${cwd}/tmp/bacula-restores storage=DDS-4
-3
-@# select JobId=4 (i.e. file five on the tape)
-4
-cd ${cwd}/build
-@# mark a single file
-mark configure
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bconsole
-scripts/check_for_zombie_jobs storage=DDS-4
-
-# Now write to tape one more time
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log3.out
-run level=Full job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-grep "^ Termination: *Backup OK" tmp/log3.out 2>&1 >/dev/null
-dstat=$?
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup a second time and finally restore it
-#
-TestName="two-jobs-test"
-JobName=Two-Jobs
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname CompressedTest $JobName
-start_test
-
-cat >tmp/bconcmds <<END_OF_DATA
-setdebug level=15 storage=File
-@output /dev/null
-messages
-@output/dev/null
-estimate job=$JobName listing
-estimate job=$JobName listing
-estimate job=$JobName listing
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-
-echo "Backup 1 done"
-touch ${cwd}/build/src/dird/*.c
-#
-# run a second job
-#
-cat >tmp/bconcmds <<END_OF_DATA
-@output /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName
-yes
-wait
-messages
-@#
-@# now do several restores to ensure we cleanup between jobs
-@#
-@output /dev/null
-restore where=${cwd}/tmp/bacula-restores select all storage=File done
-yes
-wait
-restore where=${cwd}/tmp/bacula-restores select all storage=File done
-yes
-wait
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# This is Arno's test. It uses two pools, two tapes, and
-# an autochanger. Note, the Director has three Pools in its
-# conf: Default, Full, and Inc. Default is used in the
-# NightlySave job by default. What is backed up is what
-# is in /tmp/file-list, which is by default the Bacula
-# source code (i.e. the build directory).
-#
-TestName="two-pool-tape"
-JobName=twopooltape
-. scripts/functions
-set_debug 0
-
-. config.out
-if test x${AUTOCHANGER} = x/dev/null ; then
- echo "two-pool-tape test skipped. No autochanger."
- exit
-fi
-
-scripts/cleanup
-scripts/copy-2tape-confs
-echo "Prepare two tapes"
-scripts/prepare-two-tapes
-echo "Done prepare two tapes"
-
-# Make a relatively large backup set 5 x source code directory
-echo "${cwd}/build" >/tmp/file-list
-echo "${cwd}/build" >>/tmp/file-list
-echo "${cwd}/build" >>/tmp/file-list
-echo "${cwd}/build" >>/tmp/file-list
-echo "${cwd}/build" >>/tmp/file-list
-
-start_test
-
-# Write out bconsole commands to a file
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Full drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
-list volumes
-@# Start job with Client run before and sleep
-run job=NightlySave1 level=Full pool=Default yes
-run job=NightlySave1 level=Full pool=Default yes
-run job=NightlySave1 level=Full pool=Default yes
-@# wait between starting jobs
-@sleep 60
-@#setdebug level=100 storage=DDS-4
-run job=NightlySave2 level=Full pool=Full yes
-run job=NightlySave2 level=Full pool=Full yes
-run job=NightlySave2 level=Full pool=Full yes
-@sleep 10
-messages
-@sleep 10
-messages
-@sleep 10
-status storage=DDS-4
-messages
-wait
-list volumes
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# This is Arno's test. It uses two pools, two tapes, and
-# an autochanger. Note, the Director has three Pools in its
-# conf: Default, Full, and Inc. Default is used in the
-# NightlySave job by default. What is backed up is what
-# is in /tmp/file-list, which is by default the Bacula
-# source code (i.e. the build directory).
-#
-# Note, we use the virtual disk autochanger.
-#
-TestName="two-pool-test"
-JobName=Two-pool
-. scripts/functions
-set_debug 0
-
-. config.out
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-2disk-confs
-scripts/prepare-two-disks
-
-# Make a relatively large backup set 5 x source code directory
-# Reduced to 1 for portable
-echo "${cwd}/build" >/tmp/file-list
-
-start_test
-
-# Write out bconsole commands to a file
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Full drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
-list volumes
-@# Start job with Client run before and sleep
-run job=NightlySave1 level=Full pool=Default yes
-run job=NightlySave1 level=Full pool=Default yes
-run job=NightlySave1 level=Full pool=Default yes
-@# wait between starting jobs
-@sleep 60
-@#setdebug level=100 storage=DDS-4
-run job=NightlySave2 level=Full pool=Full yes
-run job=NightlySave2 level=Full pool=Full yes
-run job=NightlySave2 level=Full pool=Full yes
-@sleep 10
-messages
-@sleep 10
-messages
-@sleep 10
-status storage=DDS-4
-messages
-wait
-list volumes
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory but
-# split the archive into two volumes
-#
-TestName="two-vol-test"
-JobName=TwoVol
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File1 volume=TestVolume002
-label storage=File1 volume=TestVolume001
-update Volume=TestVolume002 MaxVolBytes=3000000
-run job=$JobName storage=File1 yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=File1 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File1
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to two tapes where the maximum tape file size is set to 1M
-# Note, this test simulates the tape filling and writing to
-# the next tape.
-#
-TestName="two-volume-tape"
-JobName=twovoltape
-. scripts/functions
-set_debug 0
-
-
-. config.out
-if test x${AUTOCHANGER} = x/dev/null ; then
- echo "two-volume-tape test skipped. No autochanger."
- exit
-fi
-
-scripts/cleanup
-scripts/copy-2tape-confs
-scripts/prepare-two-tapes
-
-echo "${cwd}/build" >/tmp/file-list
-
-outf="tmp/sed_tmp"
-echo "s%# Maximum File Size% Maximum File Size%g" >${outf}
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname $JobName
-start_test
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
-update Volume=TestVolume001 MaxVolBytes=3000000 pool=Default drive=0
-@#setdebug level=1000 client
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-mt -f ${TAPE_DRIVE} rewind
-mtx -f ${AUTOCHANGER} unload
-sleep 15
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to two tapes where the maximum tape file size is set to 1M
-# Note, this test simulates the tape filling and writing to
-# the next tape.
-#
-# Note we use the viritual disk autochanger
-#
-TestName="two-volume-test"
-JobName=TwoVolume
-. scripts/functions
-set_debug 0
-. config.out
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-2disk-confs
-scripts/prepare-two-disks
-
-echo "${cwd}/build" >/tmp/file-list
-
-outf="tmp/sed_tmp"
-echo "s%# Maximum File Size% Maximum File Size%g" >${outf}
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
-update Volume=TestVolume001 MaxVolBytes=3000000 pool=Default drive=0
-@#setdebug level=1000 client
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the /usr directory
-# then restore it.
-#
-cwd=`pwd`
-scripts/copy-tape-confs
-scripts/cleanup-tape
-echo "/usr" >/tmp/file-list
-
-echo " "
-echo " "
-echo " === Starting usr-tape-root test ==="
-echo " "
-echo " "
-
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=DDS-4 Volume=TestVolume001 slot=0
-run job=NightlySave yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored
-cd ${cwd}/tmp
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1
-sort <1 >original
-#
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1
-sort <1 >restored
-rm -f 1
-#
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/nul
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== !!!! usr-tape-root failed !!!! ===== "
- echo " ===== !!!! usr-tape-root failed !!!! ===== " >>test.out
- echo " "
-else
- echo " ===== usr-tape-root OK ===== "
- echo " ===== usr-tape-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then verify the catalog.
-#
-TestName="verify-vol-tape"
-JobName=VerifyVol
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-setdebug level=1 storage=DDS-4 sd
-label storage=DDS-4 volume=TestVolume001 pool=Default
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a verify volume
-@#
-@$out ${cwd}/tmp/original
-run job=VerifyTape pool=Default
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-
-sleep 2
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
-bstat=$?
-grep "^ Termination: *Verify OK" ${cwd}/tmp/original 2>&1 >/dev/null
-rstat=$?
-dstat=0
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then verify the catalog.
-#
-TestName="verify-vol-test"
-JobName=VerifyVol
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-setdebug level=1 storage=File sd
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a verify volume
-@#
-@$out ${cwd}/tmp/original
-run job=VerifyVolume
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-
-sleep 2
-check_for_zombie_jobs storage=File
-stop_bacula
-
-grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
-bstat=$?
-grep "^ Termination: *Verify OK" ${cwd}/tmp/original 2>&1 >/dev/null
-rstat=$?
-dstat=0
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-TestName="weird-files-test"
-JobName=wierd-files
-. scripts/functions
-set_debug 0
-
-if test ! -d weird-files ; then
- echo " "
- echo "Weird files not configured. Test not run."
- exit 0
-fi
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-change_jobname NightlySave $JobName
-#
-# Note, we save the weird-files directory twice on purpose
-# because this causes problems with hard linked files
-# that are only saved once. In 1.33, Bacula now deals
-# with this situation.
-#
-echo "${cwd}/weird-files" >/tmp/file-list
-echo "${cwd}/weird-files" >>/tmp/file-list
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File
-TestVolume001
-run job=$JobName
-yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-${cwd}/bin/testls weird-files | sort >${cwd}/tmp/original
-cd tmp/bacula-restores${cwd}
-${cwd}/bin/testls weird-files | sort >${cwd}/tmp/restored
-cd ${cwd}
-
-check_two_logs
-diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null
-dstat=$?
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-TestName="weird-files2-test"
-JobName=weird-files2
-. scripts/functions
-set_debug 0
-
-if test ! -d weird-files ; then
- echo " "
- echo "weird files not configured. Test not run."
- exit 0
-fi
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-rm -rf weird-files2
-cp -Rp weird-files weird-files2
-echo "${cwd}/weird-files2" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-bin/testls weird-files2 >${cwd}/tmp/original
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-#
-# Now mess up the a hard link, and a soft link
-#
-cd weird-files2
-rm -f hard-file2
-ln hard-file3 hard-file2
-rm -f soft-file2
-ln -s soft-file3 soft-file2
-cd ${cwd}
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where= storage=File
-5
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=File
-stop_bacula
-
-bin/testls weird-files2 >${cwd}/tmp/restored
-
-check_two_logs
-diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null
-dstat=$?
-
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape then restore it, we do that twice to ensure that
-# we can correctly append to a tape.
-#
-TestName="win32-backup-tape"
-JobName=win32tape
-. scripts/functions
-set_debug 0
-
-scripts/copy-win32-confs
-scripts/cleanup-tape
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default drive=0
-run job=$JobName yes
-@sleep 10
-status storage=DDS-4
-@sleep 30
-messages
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=c:/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-# no diff for now
-dstat=0
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape then restore it, we do that twice to ensure that
-# we can correctly append to a tape.
-#
-TestName="win32-to-linux-tape"
-JobName=AutoLabel
-. scripts/functions
-set_debug 0
-
-scripts/copy-win32-confs
-scripts/cleanup-tape
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_job $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default drive=0
-run job=NightlySave yes
-@sleep 10
-status storage=DDS-4
-@sleep 30
-messages
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=/tmp/bacula-restores client=Tibs select all storage=DDS-4 done
-yes
-wait
-messages
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-# No diff for the moment
-dstat=0
-end_test
+++ /dev/null
-REM
-REM Run all tape tests
-REM
-CALL tests\test0
-CALL tests\two-volume-tape
-CALL tests\incremental-2tape
-ECHO.
-ECHO.
-echo 2 Tape Test results
-TYPE test.out
-CALL scripts\cleanup
+++ /dev/null
-REM
-REM Run all tape tests
-REM
-CALL config_var
-IF NOT "%AUTOCHANGER%" == "nul" mtx -f %AUTOCHANGER% load 1 >nul 2>&1
-COPY test.out test1.out
-CALL tests\test0
-CALL tests\backup-bacula-tape
-CALL tests\btape-fill-tape
-CALL tests\fixed-block-size-tape
-CALL tests\four-concurrent-jobs-tape
-CALL tests\four-jobs-tape
-CALL tests\incremental-tape
-CALL tests\relabel-tape
-CALL tests\restore-by-file-tape
-CALL tests\small-file-size-tape
-CALL tests\truncate-bug-tape
-CALL tests\two-pool-tape
-CALL tests\2drive-incremental-2tape
-CALL tests\bscan-tape
-CALL tests\verify-vol-tape
-ECHO.
-ECHO.
-ECHO Test results
-TYPE test.out
-CALL scripts\cleanup
+++ /dev/null
-REM
-REM Run all tests
-REM
-DEL test1.out
-CALL tests\test0
-ECHO.
-CALL tests\auto-label-test
-CALL tests\backup-bacula-test
-CALL tests\bextract-test
-CALL tests\bscan-test
-CALL tests\bsr-opt-test
-CALL tests\compressed-test
-CALL tests\concurrent-jobs-test
-CALL tests\data-encrypt-test
-CALL tests\differential-test
-CALL tests\four-concurrent-jobs-test
-CALL tests\four-jobs-test
-CALL tests\incremental-test
-CALL tests\query-test
-CALL tests\recycle-test
-CALL tests\restore2-by-file-test
-CALL tests\restore-by-file-test
-CALL tests\restore-disk-seek-test
-CALL tests\six-vol-test
-CALL tests\span-vol-test
-CALL tests\sparse-compressed-test
-CALL tests\sparse-test
-CALL tests\two-jobs-test
-CALL tests\two-vol-test
-CALL tests\verify-vol-test
-REM CALL tests\weird-files2-test
-REM CALL tests\weird-files-test
-CALL tests\migration-job-test
-CALL tests\migration-jobspan-test
-CALL tests\migration-volume-test
-CALL tests\migration-time-test
-REM CALL tests\hardlink-test
-REM
-REM The following are Virtual Disk Autochanger tests
-CALL tests\two-pool-test
-CALL tests\two-volume-test
-CALL tests\incremental-2disk
-CALL tests\2drive-incremental-2disk
-CALL tests\scratch-pool-test
-ECHO.
-ECHO Test results
-TYPE test.out
-CALL scripts\cleanup
+++ /dev/null
-REM
-REM Run all root tests
-REM
-DEL test.out
-CALL tests\dev-test-root
-CALL tests\etc-test-root
-CALL tests\lib-test-root
-CALL tests\usr-tape-root
-TYPE test.out
-CALL scripts\cleanup
+++ /dev/null
-REM
-REM Run all tests
-REM
-CALL all-non-root-tests
-CALL all-non-root-tape-tests
+++ /dev/null
-REM
-REM Run all tests
-REM
-CALL all-non-root-tests
-CALL all-root-tests
-TYPE test.out
-CALL scripts\cleanup
+++ /dev/null
-@ECHO off
-REM
-REM First argument is expected to be a user's configuration file
-REM
-IF "%1" == "" (
- ECHO Arg1 must specify a config file ^(e.g. prototype.conf^)
- EXIT /b 1
-)
-
-COPY %1 config_var.cmd
+++ /dev/null
-@ECHO off
-REM
-REM Makefile for Bacula regression testing
-REM
-REM Note, Makefile is built from Makefile.in, which you should not really
-REM need to change, by invoking:
-REM
-REM config <user's configuration>
-REM
-REM e.g.
-REM config kern.conf
-REM
-
-SETLOCAL
-
-IF EXIST config_var.cmd GOTO :already_configured
-ECHO You must run config first and supply the name of your conf file.
-ECHO Use prototype.conf as a template.
-EXIT /B 1
-
-:already_configured
-
-SET PATH=%PATH%;%CD%\bin;%CD%\tools
-
-REM suck in user's configuration
-CALL config_var.cmd
-
-IF EXIST "%BACULA_SOURCE%\configure" GOTO :source_ok
-ECHO Unable to access the Bacula source in %BACULA_SOURCE%. Update
-ECHO BACULA_SOURCE in your configuration file and rerun config.
-EXIT /B 1
-
-:source_ok
-IF "%1" == "setup" GOTO :setup
-IF "%1" == "bacula" GOTO :bacula
-IF "%1" == "sed" GOTO :sed
-IF "%1" == "test" GOTO :test
-IF "%1" == "full_test" GOTO :full_test
-IF "%1" == "root_test" GOTO :root_test
-IF "%1" == "clean" GOTO :clean
-IF "%1" == "reset" GOTO :reset
-IF "%1" == "distclean" GOTO :distclean
-
-IF EXIST "%1" (
- %1
-) ELSE IF EXIST "%1.cmd" (
- %1
-) ELSE IF EXIST tests\%1 (
- tests\%1
-) ELSE IF EXIST tests\%1.cmd (
- tests\%1
-) ELSE (
- ECHO Unsupported option: %1
- ECHO Valid options are:
- ECHO setup, bacula, sed, test, full_test, root_test, clean, reset, distclean
- EXIT /b 1
-)
-
-:setup
-CALL :bacula %2
-CALL :sed
-GOTO :EOF
-
-:bacula
-RD /s /q build bin weird-files tmp working 2>nul
-MKDIR tmp working
-SET BUILD_TYPE=%1
-IF "%BUILD_TYPE%"=="" SET BUILD_TYPE=release
-ECHO Doing: scripts\setup "%BACULA_SOURCE%" %BUILD_TYPE% %EMAIL% %SMTP_HOST% %TAPE_DRIVE% %AUTOCHANGER% %AUTOCHANGER_PATH% %TAPE_DRIVE1%
-CALL scripts\setup "%BACULA_SOURCE%" %BUILD_TYPE% %EMAIL% %SMTP_HOST% %TAPE_DRIVE% %AUTOCHANGER% %AUTOCHANGER_PATH% %TAPE_DRIVE1%
-GOTO :EOF
-
-:sed
-ECHO Doing: scripts\do_sed %EMAIL% %SMTP_HOST% %TAPE_DRIVE% %AUTOCHANGER% %AUTOCHANGER_PATH% %TAPE_DRIVE1%
-CALL scripts\do_sed %EMAIL% %SMTP_HOST% %TAPE_DRIVE% %AUTOCHANGER% %AUTOCHANGER_PATH% %TAPE_DRIVE1%
-GOTO :EOF
-
-:test
-REM Run all non-root userid tests
-CALL all-non-root-tests
-GOTO :EOF
-
-:full_test
-REM run all file and tape tests
-CALL all-tape-and-file-tests
-GOTO :EOF
-
-:root_test
-REM These tests require you to run as root
-CALL all-root-tests
-GOTO :EOF
-
-:clean
-CALL scripts\cleanup
-DEL \tmp\file-list tmp\* working\* test.out diff >nul 2>&1
-DEL 1 2 3 scripts\1 scripts\2 scripts\3 tests\1 tests\2 tests\3 >nul 2>&1
-DEL .#* /s >nul 2>&1
-GOTO :EOF
-
-:reset
-REM Reset our userid after running as root
-CALL scripts\cleanup
-DEL \tmp\file-list tmp\file-list
-DEL tmp\* working\*
-GOTO :EOF
-
-:distclean
-RD /s /q bin build weird-files weird-files weird-files2 tmp working 2>nul
-DEL scripts\*.conf
-CALL :clean
-GOTO :EOF
+++ /dev/null
-REM
-REM Prototype personal configuration file for the regression
-REM scripts. Either edit this file directly, or better copy
-REM it elsewhere so it won't get overwritten.
-REM
-
-REM
-REM Put the full path to the Bacula source code to be tested
-REM
-SET BACULA_SOURCE=
-
-REM Where to send email messages
-REM
-SET EMAIL=
-SET SMTP_HOST=localhost
-
-REM
-REM The device name of your tape drive if you have one
-REM
-SET TAPE_DRIVE=tape0
-SET TAPE_DRIVE1=nul
-
-REM
-REM if you don't have an autochanger set AUTOCHANGER to nul
-REM
-SET AUTOCHANGER=changer0
-
-REM
-REM This must be the path to the autochanger including its name
-REM
-SET AUTOCHANGER_PATH=%CD%\bin\mtx
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.39
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-Job {
- Name = "migrate-job"
- Type = Migrate
- Level = Full
- Client=@hostname@-fd
- FileSet="Full Set"
- Messages = Standard
- Storage = DiskChanger
- Write Bootstrap = "@working_dir@/migratejob.bsr"
- Pool = Default
- Maximum Concurrent Jobs = 4
- Selection Type = Job
- Selection Pattern = ".*Save"
-}
-
-Job {
- Name = "migrate-volume"
- Type = Migrate
- Level = Full
- Client=@hostname@-fd
- FileSet="Full Set"
- Messages = Standard
- Storage = DiskChanger
- Write Bootstrap = "@working_dir@/migratevol.bsr"
- Pool = Default
- Maximum Concurrent Jobs = 4
- Selection Type = Volume
- Selection Pattern = "File*"
-}
-
-Job {
- Name = "migrate-occupancy"
- Type = Migrate
- Level = Full
- Client=@hostname@-fd
- FileSet="Full Set"
- Messages = Standard
- Storage = DiskChanger
- Write Bootstrap = "@working_dir@/migratejob.bsr"
- Pool = Default
- Maximum Concurrent Jobs = 4
- Selection Type = PoolOccupancy
-}
-
-Job {
- Name = "migrate-time"
- Type = Migrate
- Level = Full
- Client=@hostname@-fd
- FileSet="Full Set"
- Messages = Standard
- Storage = DiskChanger
- Write Bootstrap = "@working_dir@/migratejob.bsr"
- Pool = Default
- Maximum Concurrent Jobs = 4
- Selection Type = PoolTime
-}
-
-
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=MD5 }
- File = </tmp/file-list
- }
-}
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definition of DDS Virtual tape disk storage device
-Storage {
- Name = DiskChanger
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = DiskChanger # must be same as Device in Storage daemon
- Media Type = DiskChanger # must be same as MediaType in Storage daemon
- Maximum Concurrent Jobs = 4
- Autochanger = yes
-}
-
-# Definition of file storage device
-Storage {
- Name = File
- Address = @hostname@
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = FileStorage
- Media Type = File
- Maximum Concurrent Jobs = 5
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
- NextPool = Full
- Storage = File
- Migration High Bytes = 40M
- Migration Low Bytes = 20M
- Migration Time = 60
-}
-
-Pool {
- Name = Full
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
- Storage = DiskChanger
-}
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.33
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-Job {
- Name = "NightlySave1"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
- Client Run Before Job = "@sbindir@/bsleep 120"
-}
-
-Job {
- Name = "NightlySave2"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-Job {
- Name = "VerifyTape"
- Type = Verify
- Level = VolumeToCatalog
- Client=@hostname@-fd
- FileSet="Verify Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-# Prefer Mounted Volumes = no
-}
-
-
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=MD5 }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "Verify Set"
- Include {
- Options {
- signature=MD5
- verify=pins1
- }
- File = </tmp/file-list
- }
-}
-
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definition of DDS tape storage device
-Storage {
- Name = DDS-4
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = DDS-4 # must be same as Device in Storage daemon
- Media Type = DDS-4 # must be same as MediaType in Storage daemon
- Maximum Concurrent Jobs = 4
-# Autochanger = yes
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
-
-Pool {
- Name = Full
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
-
-Pool {
- Name = Inc
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
-
-Pool {
- Name = Scratch
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.33
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=Tibs
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-}
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=Tibs
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Enable VSS = yes
- Include { Options { signature=MD5 }
- File = "c:"
- }
-}
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# Client (File Services) to backup
-Client {
- Name = Tibs
- Address = tibs
- FDPort = 9102
- Catalog = MyCatalog
- Password = "xBzFq+a9llZyGyfMaNO9e3outP86/1AUAT8P34RoT62G"
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definition of DDS tape storage device
-Storage {
- Name = DDS-4
- Address = 192.168.68.112 # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = DDS-4 # must be same as Device in Storage daemon
- Media Type = DDS-4 # must be same as MediaType in Storage daemon
- AutoChanger = yes
- Maximum Concurrent Jobs = 4
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression Job %j\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.39.27 (24 October 2006) -- debian testing/unstable
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- SubSysDirectory = "@subsysdir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
- Messages = Standard
-}
-
-JobDefs {
- Name = "DefaultJob"
- Type = Backup
- Level = Incremental
- Client = @hostname@-fd
- FileSet = FS_TESTJOB
- Storage = File
- Messages = Standard
- Pool = Default
- Priority = 10
- Maximum Concurrent Jobs = 16
-}
-
-FileSet {
- Name = FS_TESTJOB
- Include {
- File=</tmp/file-list
- }
-}
-
-#dir: BeforeJob: run command "/bin/echo RunBeforeJob"
-#fd: ClientRunBeforeJob: ClientRunBeforeJob
-#fd: ClientAfterJob: run command "/bin/echo ClientRunAfterJob"
-#dir: AfterJob: run command "/bin/echo RunAfterJob"
-
-Job {
- Name = "RUN_ALL_OK"
- JobDefs = DefaultJob
- FileSet = FS_TESTJOB
- RunBeforeJob = "/bin/echo RunBeforeJob"
- ClientRunBeforeJob = "/bin/echo ClientRunBeforeJob"
- Run After Job = "/bin/echo RunAfterJob"
- ClientRunAfterJob = "/bin/echo ClientRunAfterJob"
-}
-
-#After job are after before job
-Job {
- Name = "RUN_DIR_FAILED_BUG"
- FileSet = FS_TESTJOB
- JobDefs = DefaultJob
- Run After Failed Job = "/bin/echo RunAfterFailedJob"
- RunBeforeJob = "/bin/false"
-}
-
-#@hostname@-dir: BeforeJob: run command "/bin/false"
-#@hostname@-dir: BeforeJob: RunAfterFailedJob
-Job {
- Name = "RUN_DIR_FAILED"
- FileSet = FS_TESTJOB
- JobDefs = DefaultJob
- RunBeforeJob = "/bin/false RUN_DIR_FAILED"
- Run After Failed Job = "/bin/echo RunAfterFailedJob"
-}
-
-#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED1"
-#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED2"
-#@hostname@-dir: AfterJob: run command "/bin/echo RunAfterFailedJob"
-Job {
- Name = "RUN_FD_FAILED"
- FileSet = FS_TESTJOB
- JobDefs = DefaultJob
- RunScript {
- Command = "/bin/false RUN_FD_FAILED1"
- abortjobonerror = no
- RunsWhen = Before
- }
- RunScript {
- Command = "/bin/false RUN_FD_FAILED2"
- abortjobonerror = yes
- RunsWhen = Before
- }
-
- Run After Failed Job = "/bin/echo RunAfterFailedJob"
-}
-
-#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_WARNING"
-#Backup OK -- with warnings
-Job {
- Name = "RUN_FD_WARNING"
- FileSet = FS_TESTJOB
- JobDefs = DefaultJob
- RunScript {
- Command = "/bin/false RUN_FD_WARNING"
- abortjobonerror = no
- RunsWhen = Before
- }
- Run After Failed Job = "/bin/echo RunAfterFailedJob"
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definiton of file storage device
-Storage {
- Name = File
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage
- Media Type = File
- Maximum Concurrent Jobs = 4
-}
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-
-Messages {
- Name = Standard
- stdout = all, !skipped
-}
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.39
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DDS-4
- Changer Device = @disk_drive@/conf
- Changer Command ="\"@scriptdir@\\disk-changer\" %c %o %S %a %d"
- Device = Drive-0, Drive-1
-}
-
-Device {
- Name = Drive-0
- Device Type = File
- Media Type = DDS-4
- Archive Device = @disk_drive@/drive0
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
-# Maximum File Size = 1000000
-}
-
-Device {
- Name = Drive-1
- Device Type = File
- Media Type = DDS-4
- Archive Device = @disk_drive@/drive1
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 1
- AlwaysOpen = yes;
- RemovableMedia = yes;
-# Maximum File Size = 1000000
-}
-
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.39
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DDS-4
- Changer Device = "@disk_drive@\\conf"
- Changer Command ="\"@scriptdir@\\disk-changer\" %c %o %S %a %d"
- Device = Drive-0
-}
-
-Device {
- Name = Drive-0 #
- Device Type = File
- Media Type = DDS-4
- Archive Device = "@disk_drive@\\drive0"
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
-# Maximum File Size = 1000000
-}
-
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DDS-4
- Changer Device = @autochanger@
- Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d"
- Device = Drive-0, Drive-1
-}
-
-Device {
- Name = Drive-0
- Media Type = DDS-4
- Archive Device = @tape_drive@
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @@sbindir@/tape_options
-# Maximum File Size = 1000000
-}
-
-Device {
- Name = Drive-1
- Media Type = DDS-4
- Archive Device = @tape_drive1@
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 1
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @@sbindir@/tape_options
-# Maximum File Size = 1000000
-}
-
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DDS-4
- Changer Device = @autochanger@
- Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d"
- Device = Drive-0
-}
-
-Device {
- Name = Drive-0 #
- Media Type = DDS-4
- Archive Device = @tape_drive@
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @@sbindir@/tape_options
-# Maximum File Size = 1000000
-}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.39
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-Autochanger {
- Name = DiskChanger
- Changer Device = @disk_drive@/conf
- Changer Command ="@scriptdir@/disk-changer %c %o %S %a %d"
- Device = Drive-0
-}
-
-Device {
- Name = Drive-0 #
- Device Type = File
- Media Type = DiskChanger
- Archive Device = @disk_drive@/drive0
- AutomaticMount = yes; # when device opened, read it
- Autochanger = yes
- Drive Index = 0
- AlwaysOpen = yes;
- RemovableMedia = yes;
-# Maximum File Size = 1000000
-}
-
-Device {
- Name = FileStorage
- Media Type = File
- Archive Device = @tmpdir@
- LabelMedia = yes; # lets Bacula label unlabeled media
- Random Access = Yes;
- AutomaticMount = yes; # when device opened, read it
- RemovableMedia = no;
- AlwaysOpen = no;
-}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-
-Device {
- Name = DDS-4 #
- Media Type = DDS-4
- Archive Device = @tape_drive@
- AutomaticMount = yes; # when device opened, read it
- AlwaysOpen = yes;
- RemovableMedia = yes;
- @@sbindir@/tape_options
-# Maximum File Size = 1000000
-# MaximumVolumeSize = 400M
-}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = rufus-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "/home/kern/bacula/regress/working"
- Pid Directory = "/home/kern/bacula/regress/working"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = rufus-dir
- Password = "BzlEl8haeFmnv/Lv8V6zDzUBgFFQNsUtny6VkmccQpOy"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-
-Device {
- Name = FileStorage
- Media Type = File
- Archive Device = @tmpdir@
- LabelMedia = yes; # lets Bacula label unlabeled media
- Random Access = Yes;
- AutomaticMount = yes; # when device opened, read it
- RemovableMedia = no;
- AlwaysOpen = no;
-}
-
-#Device {
-# Name = DDS-4 #
-# Media Type = DDS-4
-# Archive Device = /dev/nst0
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = yes;
-# RemovableMedia = yes;
-#}
-
-#
-# A very old Exabyte with no end of media detection
-#
-#Device {
-# Name = "Exabyte 8mm"
-# Media Type = "8mm"
-# Archive Device = /dev/nst0
-# Hardware end of medium = No;
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = Yes;
-# RemovableMedia = yes;
-#}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = rufus-dir = all, !terminate
-}
+++ /dev/null
-@ECHO off
-IF "%1" == "start" (
- net start bacula-dir
- net start bacula-sd
- net start bacula-fd
-) ELSE IF "%1" == "stop" (
- net stop bacula-dir
- net stop bacula-sd
- net stop bacula-fd
-) ELSE IF "%1" == "install" (
- bacula-dir /install -c %2\bacula-dir.conf
- bacula-sd /install -c %2\bacula-sd.conf
- bacula-fd /install -c %2\bacula-fd.conf
-) ELSE IF "%1" == "uninstall" (
- bacula-dir /remove
- bacula-sd /remove
- bacula-fd /remove
-)
+++ /dev/null
-@output tmp/dir.out
-status dir
-@output tmp/fd.out
-status client
-@output tmp/sd.out
-status @storage@
-@output
-quit
+++ /dev/null
-REM
-REM Check for zombie jobs (not terminated).
-REM Also scan logs for ERROR messages
-
-sed -e "s;@storage@;%1=%2;" scripts\check_for_zombie_jobs.bscr >tmp\bconcmds
-CALL scripts\functions run_bconsole
-grep "No Jobs running." tmp\dir.out >nul 2>&1
-IF %ERRORLEVEL% NEQ 0 (
- ECHO.
- ECHO !!!! Zombie Jobs in Director !!!!
- ECHO !!!! Zombie Jobs in Director !!!! >>test.out
- ECHO.
-)
-grep "No Jobs running." tmp\fd.out >nul 2>&1
-IF %ERRORLEVEL% NEQ 0 (
- ECHO.
- ECHO !!!! Zombie Jobs in File daemon !!!!
- ECHO !!!! Zombie Jobs in File daemon !!!! >>test.out
- ECHO.
-)
-grep "No Jobs running." tmp\sd.out >nul 2>&1
-IF %ERRORLEVEL% NEQ 0 (
- ECHO.
- ECHO !!!! Zombie Jobs in Storage daemon !!!!
- ECHO !!!! Zombie Jobs in Storage daemon !!!! >>test.out
- ECHO.
-)
-grep "ERROR" tmp/log*.out >nul 2>&1
-IF %ERRORLEVEL% EQU 0 (
- ECHO.
- ECHO !!!! ERROR in log output !!!!
- ECHO !!!! ERROR in log output !!!! >>test.out
- ECHO.
-)
-grep "Fatal Error" tmp\log*.out >nul 2>&1
-IF %ERRORLEVEL% EQU 0 (
- ECHO.
- ECHO !!!! Fatal Error in log output !!!!
- ECHO !!!! Fatal Error in log output !!!! >>test.out
- ECHO.
-)
+++ /dev/null
-REM
-REM Cleanup left over files -- both before and after test run
-REM
-CALL scripts\cleanup
-
-IF NOT "@autochanger@" == "nul" (
- SET slot=0
- FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 @tape_drive1@ 1' ) DO SET slot=%%i
- ECHO Slot %slot% in drive 1
- IF !slot! NEQ 0 (
- ECHO unload slot !slot! in drive 1
- bin\mtx-changer @autochanger@ unload !slot! @tape_drive1@ 1
- )
- FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 @tape_drive@ 0' ) DO SET slot=%%i
- ECHO Slot !slot! in drive 0
- IF !slot! NEQ 0 (
- echo "unload slot !slot! in drive 0"
- bin\mtx-changer @autochanger@ unload !slot! @tape_drive@ 0
- )
-
- FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 @tape_drive1@ 1' ) DO SET slot=%%i
- IF !slot! NEQ 2 (
- ECHO load slot 2 in drive 1
- bin\mtx-changer @autochanger@ load 2 @tape_drive1@ 1
- )
- ECHO WEOF drive 1
- mt -f @tape_drive1@ rewind
- mt -f @tape_drive1@ weof
- ECHO unload slot 2 in drive 1
- bin\mtx-changer @autochanger@ unload 2 @tape_drive1@ 1
-
- FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 @tape_drive@ 0' ) DO SET slot=%%i
- ECHO Slot !slot! in drive 0
- IF !slot! NEQ 1 (
- ECHO load slot 1 in drive 0
- bin\mtx-changer @autochanger@ load 1 @tape_drive@ 0
- )
- ECHO WEOF drive 0
- mt -f @tape_drive@ rewind
- mt -f @tape_drive@ weof
- ECHO unload slot 1 from drive 0
- bin\mtx-changer @autochanger@ unload 1 @tape_drive@ 0
-)
+++ /dev/null
-REM
-REM Cleanup left over files -- both before and after test run
-REM
-
-setlocal ENABLEDELAYEDEXPANSION
-
-CALL scripts\cleanup
-
-IF NOT "@autochanger@" == "nul" (
- SET slot=0
- FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 dummy 0' ) DO SET slot=%%i
- IF !slot! NEQ 2 (
- bin\mtx-changer @autochanger@ unload 0 @tape_drive@ 0
- bin\mtx-changer @autochanger@ load 2 @tape_drive@ 0
- )
- mt -f @tape_drive@ rewind
- mt -f @tape_drive@ weof
-
- REM
- REM If we have an autochanger always load tape in slot 1
- REM
- FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 dummy 0' ) DO SET slot=%%i
- IF !slot! NEQ 1 (
- bin\mtx-changer @autochanger@ unload 0 @tape_drive@ 0
- bin\mtx-changer @autochanger@ load 1 @tape_drive@ 0
- )
-)
-mt -f @tape_drive@ rewind
-mt -f @tape_drive@ weof
+++ /dev/null
-REM
-REM Cleanup left over files -- both before and after test run
-REM
-CALL scripts\cleanup
-
-mt -f @tape_drive@ rewind
-mt -f @tape_drive@ weof
+++ /dev/null
-@ECHO off
-REM
-REM Cleanup left over files -- both before and after test run
-REM
-
-CALL scripts\bacula stop >nul 2>&1
-
-DEL /q /f \tmp\FileVolume* tmp\FileVolume* >nul 2>&1
-DEL /q /f \tmp\TestVolume001 \tmp\Small* >nul 2>&1
-RD /s /q \tmp\bacula-restores tmp\bacula-restores >nul 2>&1
-DEL /q /f tmp\original tmp\Small* tmp\TestVolume* >nul 2>&1
-DEL /q /f tmp\restored tmp\largefile tmp\bscan.bsr tmp\log*.out >nul 2>&1
-DEL /q /f \tmp\sed_tmp \tmp\file-list >nul 2>&1
-RD /s /q tmp\build >nul 2>&1
-DEL /q /f tmp\restore-list tmp\restore2-list >nul 2>&1
-DEL /q /f tmp\fd.out tmp\dir.out tmp\sd.out >nul 2>&1
-DEL /q /f working\log tmp\TEST-* >nul 2>&1
-DEL /q /f working\*.bsr >nul 2>&1
-DEL /q /f tmp\disk-changer.cmd \tmp\disk-changer.cmd >nul 2>&1
-
-CALL bin\drop_bacula_tables >nul 2>&1
-CALL bin\make_bacula_tables >nul 2>&1
-CALL bin\grant_bacula_privileges >nul 2>&1
+++ /dev/null
-REM
-REM Setup for using the Virtual Disk Changer (simulates tape changer)
-REM
-COPY scripts\bacula-dir-tape.conf bin\bacula-dir.conf
-COPY scripts\bacula-sd-2disk.conf bin\bacula-sd.conf
-COPY scripts\test-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
-COPY bin\bacula-dir.conf tmp\1
-bin\sed -e "s;# Autochanger = yes; Autochanger = yes;g" tmp\1 >bin\bacula-dir.conf
+++ /dev/null
-COPY scripts\bacula-dir-tape.conf bin\bacula-dir.conf
-COPY scripts\bacula-sd-2disk-drive.conf bin\bacula-sd.conf
-COPY scripts\test-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
-COPY bin\bacula-dir.conf tmp\1
-bin\sed -e "s;# Autochanger = yes; Autochanger = yes;g" tmp\1 >bin\bacula-dir.conf
+++ /dev/null
-COPY scripts\bacula-dir-tape.conf bin\bacula-dir.conf
-COPY scripts\bacula-sd-2drive.conf bin\bacula-sd.conf
-COPY scripts\test-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
-
-COPY bin\bacula-dir.conf tmp\1
-bin\sed -e "s;# Autochanger = yes; Autochanger = yes;g" >bin\bacula-dir.conf
-
-REM get proper SD tape definitions
-COPY scripts\win32_tape_options bin\tape_options
+++ /dev/null
-COPY scripts\bacula-dir-tape.conf bin\bacula-dir.conf
-COPY scripts\bacula-sd-2tape.conf bin\bacula-sd.conf
-COPY scripts\test-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
-
-COPY bin\bacula-dir.conf tmp\1
-bin\sed -e "s;# Autochanger = yes; Autochanger = yes;g" tmp\1 >bin\bacula-dir.conf
-
-REM get proper SD tape definitions
-COPY scripts\win32_tape_options bin\tape_options
+++ /dev/null
-COPY scripts\bacula-dir.conf bin\bacula-dir.conf
-COPY scripts\bacula-sd.conf bin\bacula-sd.conf
-COPY scripts\bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\bconsole.conf bin\bconsole.conf
-
-REM get proper SD tape definitions
-COPY scripts\win32_tape_options bin\tape_options
+++ /dev/null
-COPY scripts\new-test-bacula-dir.conf bin\bacula-dir.conf
-COPY scripts\test-bacula-sd.conf bin\bacula-sd.conf
-COPY scripts\crypto-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
-COPY scripts\cryptokeypair.pem bin\cryptokeypair.pem
+++ /dev/null
-REM
-REM Setup for migration tests
-REM
-COPY scripts\bacula-dir-migration.conf bin\bacula-dir.conf
-COPY scripts\bacula-sd-migration.conf bin\bacula-sd.conf
-COPY scripts\test-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
+++ /dev/null
-copy scripts\bacula-dir-tape.conf bin\bacula-dir.conf
-copy scripts\bacula-sd-tape.conf bin\bacula-sd.conf
-copy scripts\test-bacula-fd.conf bin\bacula-fd.conf
-copy scripts\test-console.conf bin\bconsole.conf
-
-REM get proper SD tape definitions
-copy scripts\win32_tape_options bin\tape_options
+++ /dev/null
-COPY scripts\new-test-bacula-dir.conf bin\bacula-dir.conf
-COPY scripts\test-bacula-sd.conf bin\bacula-sd.conf
-COPY scripts\test-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
-
-REM get proper SD tape definitions
-COPY scripts\win32_tape_options bin\tape_options
+++ /dev/null
-COPY scripts\testa-bacula-dir.conf bin\bacula-dir.conf
-COPY scripts\test-bacula-sd.conf bin\bacula-sd.conf
-COPY scripts\test-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
-
-REM get proper SD tape definitions
-COPY scripts\win32_tape_options bin\tape_options
+++ /dev/null
-COPY scripts\win32-bacula-dir-tape.conf bin\bacula-dir.conf
-COPY scripts\win32-bacula-sd-tape.conf bin\bacula-sd.conf
-COPY scripts\win32-bacula-fd.conf bin\bacula-fd.conf
-COPY scripts\test-console.conf bin\bconsole.conf
-
-REM get proper SD tape definitions
-COPY scripts\win32_tape_options bin\tape_options
+++ /dev/null
-#
-# Default Bacula File Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# There is not much to change here except perhaps the
-# File daemon Name to
-#
-
-#
-# List Directors who are permitted to contact this File daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"
-}
-
-#
-# "Global" File daemon configuration specifications
-#
-FileDaemon { # this is me
- Name = @hostname@-fd
- FDport = 8102 # where we listen for the director
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- SubSys Directory = "@subsysdir@"
- PKI Signatures = Yes
- PKI Encryption = Yes
- PKI Keypair = "@scriptdir@/cryptokeypair.pem"
-}
-
-# Send all messages except skipped files back to Director
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
------BEGIN RSA PRIVATE KEY-----
-MIIBOgIBAAJBAKIc649Amif6weq+c8rVtS7jyn7E9oZ9Irrl9WviQZi0+J2OLgCi
-PNaj/FzPhTIgBBRFEP0ZU5DfVv6CoXKbpr8CAwEAAQJAQbvUUFvzpi5pnxPmw+Jv
-+zlmjIy1Icdv47UHFN3Dl3V0+X05g12xUlnyNKzo2jlSwkBi1w8AJCMV6/TnnLiI
-AQIhAM4SH9cb01DUH+1O5gk90GgNYW1Aq2vL1vygm02kppi/AiEAyWQ9eAILPXhX
-H3a7mEj8z1bCTBiVrhe73NUjim4QcgECIEC3hHRj8ruBwv0eODRSy27CNQTAuJVE
-ESKJtfxuZzu1AiEAotXYFbahW/x3hUs9d25ca1EdHOYr8G3kSjRT3lQMHAECIHBl
-uX+Ywc1jjWhc+vN2ZrLWkKMVbrd+SWOPUQGroM0j
------END RSA PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIICKzCCAdWgAwIBAgIJAO4x/m+tHX8HMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
-aWRnaXRzIFB0eSBMdGQwHhcNMDYxMjA0MDMxMzUwWhcNMDcwMTAzMDMxMzUwWjBF
-MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
-ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKIc
-649Amif6weq+c8rVtS7jyn7E9oZ9Irrl9WviQZi0+J2OLgCiPNaj/FzPhTIgBBRF
-EP0ZU5DfVv6CoXKbpr8CAwEAAaOBpzCBpDAdBgNVHQ4EFgQUiGz2I+bks0nCHyCI
-IwuV3DpDPMwwdQYDVR0jBG4wbIAUiGz2I+bks0nCHyCIIwuV3DpDPMyhSaRHMEUx
-CzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRl
-cm5ldCBXaWRnaXRzIFB0eSBMdGSCCQDuMf5vrR1/BzAMBgNVHRMEBTADAQH/MA0G
-CSqGSIb3DQEBBQUAA0EAkjFYcs9rrpdURlBaNlbud68VlA5rU+Bv4keYx41DUmqo
-sXtkQZENR9iYYYhOUso1/1dwQgrt3egjTZTtq7o5zw==
------END CERTIFICATE-----
+++ /dev/null
-@ECHO off
-setlocal ENABLEDELAYEDEXPANSION
-REM
-REM
-REM Bacula interface to virtual autoloader using disk storage
-REM
-REM $Id$
-REM
-REM If you set in your Device resource
-REM
-REM Changer Command = "disk-changer %c %o %S %a %d"
-REM you will have the following input to this script:
-REM
-REM So Bacula will always call with all the following arguments, even though
-REM in some cases, not all are used.
-REM
-REM disk-changer "changer-device" "command" "slot" "archive-device" "drive-index"
-REM %1 %2 %3 %4 %5
-REM
-REM By default the autochanger has 10 Volumes and 1 Drive.
-REM
-REM Note: For this script to work, you *must" specify
-REM Device Type = File
-REM in each of the Devices associated with your AutoChanger resource.
-REM
-REM changer-device is the name of a file that overrides the default
-REM volumes and drives. It may have:
-REM maxslot=n where n is one based (default 10)
-REM maxdrive=m where m is zero based (default 1 -- i.e. 2 drives)
-REM
-REM This code can also simulate barcodes. You simply put
-REM a list of the slots and barcodes in the "base" directory/barcodes.
-REM See below for the base directory definition. Example of a
-REM barcodes file:
-REM C:\TEMP\bacula\barcodes
-REM 1:Vol001
-REM 2:Vol002
-REM ...
-REM
-REM archive-device is the name of the base directory where you want the
-REM Volumes stored appended with \drive0 for the first drive; \drive1
-REM for the second drive, ... For example, you might use
-REM C:\Temp\bacula\drive0 Note: you must not have a trailing slash, and
-REM the string (e.g. \drive0) must be unique, and it must not match
-REM any other part of the directory name. These restrictions could be
-REM easily removed by any clever script jockey.
-REM
-REM Full example: disk-changer C:\Temp\bacula\conf load 1 C:\Temp\bacula\drive0 0
-REM
-REM The Volumes will be created with names slot1, slot2, slot3, ... maxslot in the
-REM base directory. In the above example the base directory is C:\Temp\bacula.
-REM However, as with tapes, their Bacula Volume names will be stored inside the
-REM Volume label. In addition to the Volumes (e.g. C:\Temp\bacula\slot1,
-REM C:\Temp\bacula\slot3, ...) this script will create a C:\Temp\bacula\loadedn
-REM file to keep track of what Slot is loaded. You should not change this file.
-REM
-
-SET dbgfile=%CD%\disk-changer.log
-
-REM to turn on logging, uncomment the following line
-IF NOT EXIST %dbgfile% COPY nul %dbgfile% >nul
-
-REM
-REM check parameter count on commandline
-REM
-REM Check for special cases where only 2 arguments are needed,
-REM all others are a minimum of 5
-REM
-IF "%1" EQU "" goto :param_count_invalid
-IF "%2" EQU "" goto :param_count_invalid
-IF "%2" EQU "list" goto :param_count_valid
-IF "%2" EQU "slots" goto :param_count_valid
-IF "%3" EQU "" goto :param_count_invalid
-IF "%4" EQU "" goto :param_count_invalid
-IF "%5" EQU "" goto :param_count_invalid
-GOTO :param_count_valid
-
-:param_count_invalid
- echo Insufficient number of arguments given.
- IF "%2" EQU "" (
- echo At least two arguments must be specified.
- ) else echo Command expected 5 arguments.
-:usage
- ECHO.
- ECHO usage: disk-changer ctl-device command [slot archive-device drive-index]
- ECHO Valid commands are: unload, load, list, loaded, and slots.
- EXIT /B 1
-
-:param_count_valid
-
-REM Setup arguments
-SET ctl=%1
-SET cmd=%2
-SET slot=%3
-SET device=%4
-SET drive=%5
-
-REM set defaults
-SET maxdrive=1
-SET maxslot=10
-
-SET ctl=%ctl:/=\%
-SET ctl=%ctl:\\=\%
-
-SET device=%device:/=\%
-SET device=%device:\\=\%
-
-REM Pull in conf file
-IF EXIST %ctl% CALL %ctl%
-
-FOR %%i IN ( %ctl% ) DO SET dirname=%%~dpi
-IF NOT EXIST %dirname%nul (
- ECHO ERROR: Autochanger directory "%dirname%" does not exist.
- ECHO You must create it.
- EXIT /b 1
-)
-
-CALL :debug "Parms: %ctl% %cmd% %slot% %device% %drive%"
-IF "%cmd%" EQU "unload" GOTO :cmdUnload
-IF "%cmd%" EQU "load" GOTO :cmdLoad
-IF "%cmd%" EQU "list" GOTO :cmdList
-IF "%cmd%" EQU "loaded" GOTO :cmdLoaded
-IF "%cmd%" EQU "slots" GOTO :cmdSlots
-GOTO :cmdUnknown
-
-:cmdUnload
- CALL :debug "Doing disk -f %ctl% unload %slot% %device% %drive%"
- IF NOT EXIST %dirname%loaded%drive% ECHO 0 >%dirname%loaded%drive%
- FOR /f %%i IN ( %dirname%loaded%drive% ) DO SET ld=%%i
-
- IF "%slot%" EQU "%ld%" (
- CALL :debug "Unloaded slot %ld% from drive %drive%"
- ECHO 0 >%dirname%loaded%drive%
- DEL %dirname%%device% >nul 2>nul
- SET rtn=0
- ) ELSE (
- ECHO Storage Element %slot% is Already Full
- CALL :debug "Storage Element %slot% is Already Full"
- SET rtn=1
- )
- GOTO :cmdExit
-
-:cmdLoad
- CALL :debug "Doing disk -f %ctl% load %slot% %device% %drive%"
- SET ld=0
- IF NOT EXIST %dirname%loaded%drive% ECHO 0 >%dirname%loaded%drive%
- FOR /f %%i IN ( %dirname%loaded%drive% ) DO SET ld=%%i
- IF %ld% EQU 0 (
- IF NOT EXIST %dirname%slot%slot% COPY nul %dirname%slot%slot% >nul
- DEL %device%
- fsutil hardlink create %device% %dirname%slot%slot% >nul 2>&1
- SET rtn=%ERRORLEVEL%
- IF !rtn! EQU 0 (
- ECHO %slot% >%dirname%loaded%drive%
- CALL :debug "Loaded slot %slot% into drive %drive%"
- ) ELSE (
- CALL :debug "Create hardlink failed, return = !rtn!"
- )
- ) ELSE (
- ECHO Drive %drive% Full - Storage element %ld% loaded
- CALL :debug "Drive %drive% Full - Storage element %ld% loaded"
- )
- GOTO :cmdExit
-
-:cmdList
- CALL :debug "Doing disk -f %ctl% -- to list volumes"
- IF EXIST %dirname%barcodes (
- TYPE %dirname%barcodes
- ) ELSE (
- FOR /l %%i IN ( 1, 1, %maxslot% ) DO ECHO %%i:
- )
- SET rtn=0
- GOTO :cmdExit
-
-:cmdLoaded
- CALL :debug "Doing disk -f %ctl% %drive% -- to find what is loaded"
- IF EXIST %dirname%loaded%drive% ( TYPE %dirname%loaded%drive% ) ELSE ECHO 0
- SET rtn=0
- GOTO :cmdExit
-
-:cmdSlots
- CALL :debug "Doing disk -f %ctl% -- to get count of slots"
- ECHO %maxslot%
- SET rtn=0
- GOTO :cmdExit
-
-:cmdExit
- EXIT /b %rtn%
-
-:cmdUnknown
- ECHO '%cmd%' is an invalid command.
- GOTO :usage
-
-REM
-REM log whats done
-REM
-:debug
- IF NOT EXIST %dbgfile% GOTO :EOF
- FOR /f "usebackq tokens=2-4,5-7 delims=/:. " %%i IN ( '%DATE% %TIME%' ) do SET TIMESTAMP=%%k%%i%%j-%%l:%%m:%%n
- ECHO %TIMESTAMP% %* >> %dbgfile%
- GOTO :EOF
+++ /dev/null
-IF "%1" == "" GOTO :usage
-IF "%2" == "" GOTO :usage
-IF "%3" == "" GOTO :usage
-IF "%4" == "" GOTO :usage
-IF "%5" == "" GOTO :usage
-IF "%6" == "" GOTO :usage
-GOTO :args_ok
-
-:usage
-ECHO First arg must be email name
-ECHO and the second must be the smtp or email host
-ECHO and the third must be a tape drive
-ECHO and the fourth must be a tape control name or nul
-ECHO and the fifth must be the full path to the mtx program
-ECHO and the sixth must be tape drive 1 or nul
-EXIT /b 1
-
-:args_ok
-SET out=tmp\sed_tmp
-
-REM Create sed command script
-
-ECHO s;@sbindir@;%CD:\=/%/bin;g >%out%
-ECHO s;@scriptdir@;%CD:\=/%/scripts;g >>%out%
-ECHO s;@working_dir@;%CD:\=/%/working;g >>%out%
-ECHO s;@piddir@;%CD:\=/%/working;g >>%out%
-ECHO s;@subsysdir@;%CD:\=/%/working;g >>%out%
-ECHO s;@job_email@;%1;g >>%out%
-ECHO s;@smtp_host@;%2;g >>%out%
-ECHO s;@tape_drive@;%3;g >>%out%
-ECHO s;@autochanger@;%4;g >>%out%
-ECHO s;@tmpdir@;%CD:\=/%/tmp;g >>%out%
-ECHO s;@hostname@;localhost;g >>%out%
-ECHO s;@changer_path@;%5;g >>%out%
-ECHO s;@tape_drive1@;%6;g >>%out%
-ECHO s;@disk_drive@;%CD:\=/%/tmp/disk-changer;g >>%out%
-ECHO s;@smtp_program@;%CD:\=/%/bin/bsmtp;g >>%out%
-
-ECHO SET AUTOCHANGER=%4 >config_out.cmd
-ECHO SET AUTOCHANGER_PATH=%5 >>config_out.cmd
-ECHO SET TAPE_DRIVE1=%6 >>config_out.cmd
-
-REM process .in files with sed script
-sed -f %out% %CD%\scripts\test-bacula-dir.conf.in >%CD%\scripts\test-bacula-dir.conf
-sed -f %out% %CD%\scripts\new-test-bacula-dir.conf.in >%CD%\scripts\new-test-bacula-dir.conf
-sed -f %out% %CD%\scripts\testa-bacula-dir.conf.in >%CD%\scripts\testa-bacula-dir.conf
-sed -f %out% %CD%\scripts\test-bacula-fd.conf.in >%CD%\scripts\test-bacula-fd.conf
-sed -f %out% %CD%\scripts\test-bacula-sd.conf.in >%CD%\scripts\test-bacula-sd.conf
-sed -f %out% %CD%\scripts\test-console.conf.in >%CD%\scripts\test-console.conf
-sed -f %out% %CD%\scripts\crypto-bacula-fd.conf.in >%CD%\scripts\crypto-bacula-fd.conf
-sed -f %out% %CD%\scripts\bacula-dir-tape.conf.in >%CD%\scripts\bacula-dir-tape.conf
-sed -f %out% %CD%\scripts\bacula-dir-migration.conf.in >%CD%\scripts\bacula-dir-migration.conf
-sed -f %out% %CD%\scripts\win32-bacula-dir-tape.conf.in >%CD%\scripts\win32-bacula-dir-tape.conf
-sed -f %out% %CD%\scripts\bacula-sd-tape.conf.in >%CD%\scripts\bacula-sd-tape.conf
-sed -f %out% %CD%\scripts\bacula-sd-2tape.conf.in >%CD%\scripts\bacula-sd-2tape.conf
-sed -f %out% %CD%\scripts\bacula-sd-migration.conf.in >%CD%\scripts\bacula-sd-migration.conf
-sed -f %out% %CD%\scripts\bacula-sd-2disk.conf.in >%CD%\scripts\bacula-sd-2disk.conf
-sed -f %out% %CD%\scripts\bacula-sd-2drive.conf.in >%CD%\scripts\bacula-sd-2drive.conf
-sed -f %out% %CD%\scripts\bacula-sd-2disk-drive.conf.in >%CD%\scripts\bacula-sd-2disk-drive.conf
-sed -f %out% %CD%\scripts\cleanup-tape.cmd.in >%CD%\scripts\cleanup-tape.cmd
-sed -f %out% %CD%\scripts\cleanup-2tape.cmd.in >%CD%\scripts\cleanup-2tape.cmd
-sed -f %out% %CD%\scripts\cleanup-2drive.cmd.in >%CD%\scripts\cleanup-2drive.cmd
-sed -f %out% %CD%\scripts\prepare-two-tapes.cmd.in >%CD%\scripts\prepare-two-tapes.cmd
-sed -f %out% %CD%\scripts\bacula-dir.conf.testrunscript.in >%CD%\scripts\bacula-dir.conf.testrunscript
-
-COPY %CD%\bin\bacula-sd.conf tmp\bacula-sd.tmp >nul
-sed -e "s;C:\\Temp;%CD:\=/%/tmp;g" tmp\bacula-sd.tmp >%CD%\bin\bacula-sd.conf
-
-REM get proper SD tape definitions
-COPY %CD%\scripts\win32_tape_options %CD%\bin\tape_options >nul
-
-DEL %out%
-DEL tmp\*.tmp
+++ /dev/null
-dev/ptmx
-dev/pts
-dev/rd/c5d2
-dev/rd
-dev/shm
+++ /dev/null
-etc/mail/statistics
+++ /dev/null
-lib/ld-2.2.5.so
-lib/libtermcap.so.2.0.8
-lib/libc-2.2.5.so
-lib/libnsl-2.2.5.so
-lib/libnss_files-2.2.5.so
+++ /dev/null
-/build/configure
-/build/src/stored/bextract
-/build/src/tools/testfind
-/build/Makefile.in
-/build/src/dird/bacula-dir
-/build/src/console/bconsole
-/build/src/filed/bacula-fd
-/build/src/findlib/find_one.c
-/build/src/jcr.h
-/build/platforms/Makefile.in
-/build/platforms/redhat/Makefile.in
-/build/scripts/Makefile.in
-/build/src/win32/filed/winservice.cpp
-/build/src/filed/restore.c
-/build/autoconf/configure.in
-/build/examples/afs-bacula
-/build/src/win32/Makefile.inc.in
-/build/src/win32/installer/winbacula.nsi
-/build/autoconf/configure.in
-/build/src/version.h
-/build/src/lib/message.c
-/build/src/lib/bnet_server.c
-/build/src/lib/libbac.a
+++ /dev/null
-REM
-REM A set of useful functions to be sourced in each test
-REM
-
-SET routine=%1
-SHIFT
-
-GOTO %routine%
-
-:start_test
- ECHO.
- ECHO.
- ECHO === Starting %TestName% at %TIME% ===
- ECHO === Starting %TestName% at %TIME% === >>working\log
- ECHO.
- GOTO :EOF
-
-:set_debug
- SET debug=%1
- IF "%debug%" EQU 1 (
- SET out=tee
- ) ELSE (
- SET out=output
- )
- GOTO :EOF
-
-:run_bacula
- IF %debug% EQU 1 (
- CALL scripts\bacula start
- bin\bconsole -c bin\bconsole.conf <tmp\bconcmds
- ) ELSE (
- CALL scripts\bacula start >nul 2>&1
- bin\bconsole -c bin\bconsole.conf <tmp\bconcmds >nul 2>&1
- )
- GOTO :EOF
-
-:run_bconsole
- IF %debug% EQU 1 (
- bin\bconsole -c bin\bconsole.conf <tmp\bconcmds
- ) ELSE (
- bin\bconsole -c bin\bconsole.conf <tmp\bconcmds >nul 2>&1
- )
- GOTO :EOF
-
-:run_btape
- IF %debug% EQU 1 (
- bin\btape -c bin\bacula-sd.conf DDS-4 <tmp\bconcmds | tee tmp\log1.out
- ) ELSE (
- bin\btape -c bin\bacula-sd.conf DDS-4 <tmp\bconcmds >tmp\log1.out 2>&1
- )
- GOTO :EOF
-
-:run_bscan
- IF %debug% EQU 1 (
- bin\bscan %1 %2 %3 %4 %5 %6 %7 %8 %9 | tools\tee tmp\log.out
- ) ELSE (
- bin\bscan %1 %2 %3 %4 %5 %6 %7 %8 %9 >nul 2>&1
- )
- GOTO :EOF
-
-:stop_bacula
- CALL scripts\bacula stop >nul 2>&1
- GOTO :EOF
-
-:check_for_zombie_jobs
- CALL scripts\check_for_zombie_jobs %1 %2
- GOTO :EOF
-
-:change_jobname
- IF "%2" == "" (
- SET oldname=NightlySave
- SET newname=%1
- ) ELSE (
- SET oldname=%1
- SET newname=%2
- )
- IF EXIST bin\1 DEL /f bin\1
- REN bin\bacula-dir.conf 1
- bin\sed -e "s;%oldname%;%newname%;g" bin\1 >bin\bacula-dir.conf
-REM ECHO Job %oldname% changed to %newname%
- GOTO :EOF
-
-:check_two_logs
- tools\grep "^ Termination: *Backup OK" tmp\log1.out >nul 2>&1
- SET bstat=%ERRORLEVEL%
- tools\grep "^ Termination: *Restore OK" tmp\log2.out >nul 2>&1
- SET rstat=%ERRORLEVEL%
- GOTO :EOF
-
-:check_restore_diff
- tools\diff -r build tmp\bacula-restores\%CD::=%\build >nul 2>&1
- SET dstat=%ERRORLEVEL%
- GOTO :EOF
-
-:check_restore_tmp_build_diff
- tools\diff -r tmp\build tmp\bacula-restores\%CD::=%\tmp\build >nul 2>&1
- SET dstat=%ERRORLEVEL%
- GOTO :EOF
-
-:end_test
- SET /a errcount=%bstat% + %rstat% + %dstat%
- IF %errcount% NEQ 0 (
- ECHO.
- ECHO.
- ECHO !!!!! %TestName% Bacula source failed!!! !!!!!
- ECHO !!!!! %TestName% failed!!! !!!!! >>test.out
- IF %dstat% NEQ 0 (
- ECHO !!!!! Restored files differ !!!!!
- ECHO !!!!! Restored files differ !!!!! >>test.out
- ) ELSE (
- ECHO !!!!! Bad Job termination status !!!!!
- ECHO !!!!! Bad Job termination status !!!!! >>test.out
- )
- ECHO.
- ) ELSE (
- ECHO ===== %TestName% Bacula source OK %TIME% =====
- ECHO ===== %TestName% OK %TIME% ===== >>test.out
- IF %debug% EQU 0 scripts\cleanup
- )
- SET errcount=
- GOTO :EOF
-
-:copy_tape_confs
- CALL scripts\copy-tape-confs >nul 2>&1
- CALL scripts\cleanup-tape
- GOTO :EOF
-
-:copy_test_confs
- CALL scripts\copy-test-confs >nul 2>&1
- CALL scripts\cleanup
- GOTO :EOF
+++ /dev/null
-REM Arguments:
-REM 1 = Debug or Release
-REM 2 = email address
-REM 3 = mail server
-REM 4 = tape device
-REM 5 = changer device or nul
-REM 6 = tape1 device or nul
-
-SETLOCAL ENABLEDELAYEDEXPANSION
-
-SET CATS=create_sqlite3_database.cmd drop_sqlite3_database.cmd drop_sqlite3_tables.cmd grant_sqlite3_privileges.cmd make_sqlite3_catalog_backup.cmd make_sqlite3_tables.cmd
-
-SET CONFS=bacula-dir.conf.in bacula-fd.conf.in bacula-sd.conf.in bconsole.conf.in
-
-CALL scripts\bacula stop
-
-IF NOT EXIST bin MKDIR bin
-
-COPY build\src\win32\installer\%1\*.exe bin >nul
-COPY build\src\win32\installer\%1\*.dll bin >nul
-COPY build\src\win32\installer\%1\*.manifest bin >nul
-COPY build\src\win32\%1\*.pdb bin >nul
-COPY build\src\win32\installer\%1\query.sql bin >nul
-
-COPY bin\cats_sqlite.dll bin\bacula_cats.dll >nul
-
-FOR /f %%i IN ( 'cmd /c openssl.exe rand -base64 33 2^>nul' ) DO SET CLIENT_PASSWORD=%%i
-FOR /f %%i IN ( 'cmd /c openssl.exe rand -base64 33 2^>nul' ) DO SET STORAGE_PASSWORD=%%i
-FOR /f %%i IN ( 'cmd /c openssl.exe rand -base64 33 2^>nul' ) DO SET DIRECTOR_PASSWORD=%%i
-FOR /f %%i IN ( 'cmd /c openssl.exe rand -base64 33 2^>nul' ) DO SET MONITOR_PASSWORD=%%i
-
-ECHO s;@director_name@;localhost-dir;g >install.sed
-ECHO s;@director_port@;8101;g >>install.sed
-ECHO s;@storage_name@;localhost-sd;g >>install.sed
-ECHO s;@storage_port@;8103;g >>install.sed
-ECHO s;@client_name@;localhost-fd;g >>install.sed
-ECHO s;@client_port@;8102;g >>install.sed
-
-REM ECHO s;@DISTVER@;$R2;
-
-ECHO s;@working_dir@;%CD:\=\\\\%\\\\working;g >>install.sed
-ECHO s;@working_dir_cmd@;%CD:\=\\%\\working;g >>install.sed
-ECHO s;@bin_dir@;%CD:\=\\\\%\\\\bin;g >>install.sed;
-ECHO s;@bin_dir_cmd@;%CD:\=\\%\\bin;g >>install.sed
-ECHO s;@BUILD_DIR@;%CD:\=/%/build;g >>install.sed
-ECHO s;@director_address@;localhost;g >>install.sed
-ECHO s;@client_address@;localhost;g >>install.sed
-ECHO s;@storage_address@;localhost;g >>install.sed
-ECHO s;@client_maxjobs@;2;g >>install.sed
-ECHO s;@client_password@;%CLIENT_PASSWORD%;g >>install.sed
-ECHO s;@storage_maxjobs@;10;g >>install.sed
-ECHO s;@storage_password@;%STORAGE_PASSWORD%;g >>install.sed
-ECHO s;@director_maxjobs@;1;g >>install.sed
-ECHO s;@director_password@;%DIRECTOR_PASSWORD%;g >>install.sed
-ECHO s;@job_email@;%2;g >>install.sed
-ECHO s;@smtp_host@;%3;g >>install.sed
-ECHO s;@monitor_name@;localhost-mon;g >>install.sed
-ECHO s;@monitor_password@;%MONITOR_PASSWORD%;g >>install.sed
-ECHO s;@tape_drive@;%4;g >>install.sed
-ECHO s;@autochanger@;%5;g >>install.sed
-ECHO s;@changer_path@;%6;g >>install.sed
-ECHO s;@tape_drive1@;%7;g >>install.sed
-
-FOR %%i in ( %CATS% ) DO (
- SET NAME=%%i
- SET TARGET=bin\!NAME:sqlite3=bacula!
- tools\sed -f install.sed build\src\win32\installer\%1\!NAME! > !TARGET!
-)
-
-FOR %%i in ( %CONFS% ) DO tools\sed -f install.sed build\src\win32\installer\%%i > bin\%%~ni
-
-tools\sed -f install.sed build\src\win32\installer\%1\make_sqlite3_tables.sql > bin\make_sqlite3_tables.sql
-tools\sed -f install.sed build\src\win32\installer\%1\mtx-changer.cmd > bin\mtx-changer.cmd
-
-CALL scripts\bacula uninstall
-CALL scripts\bacula install %CD%\bin
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.39 or later
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- SubSysDirectory = "@subsysdir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
- Messages = Standard
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData=yes
-}
-
-Job {
- Name = "Crypto"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseCompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData=yes
-}
-
-
-Job {
- Name = "MonsterSave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File1
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-Job {
- Name = "VerifyVolume"
- Type = Verify
- Level = VolumeToCatalog
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-Job {
- Name = "SparseTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-Job {
- Name = "CompressedTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="CompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Maximum Concurrent Jobs = 4
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-Job {
- Name = "SparseCompressedTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseCompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-# Backup the catalog database (after the nightly save)
-Job {
- Name = "BackupCatalog"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Catalog"
-# Schedule = "WeeklyCycleAfterBackup"
- Storage = File
- Messages = Standard
- Pool = Default
- # This creates an ASCII copy of the catalog
- RunBeforeJob = "@sbindir@/make_catalog_backup -u bacula"
- # This deletes the copy of the catalog
- RunAfterJob = "@sbindir@/delete_catalog_backup"
- Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
-}
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=MD5 }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "SparseSet"
- Include {
- Options {
- signature=MD5 sparse=yes
- }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "CompressedSet"
- Include {
- Options {
- signature=MD5 compression=GZIP
- }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "SparseCompressedSet"
- Include {
- Options {
- signature=MD5 compression=GZIP
- sparse=yes
- }
- File = </tmp/file-list
- }
-}
-
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# This schedule does the catalog. It starts after the WeeklyCycle
-Schedule {
- Name = "WeeklyCycleAfterBackup"
- Run = Full sun-sat at 1:10
-}
-
-# This is the backup of the catalog
-FileSet {
- Name = "Catalog"
- Include {
- Options {
- signature=MD5
- }
- File = /home/kern/bacula/regress/bin/working/bacula.sql
- }
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definiton of file storage device
-Storage {
- Name = File
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage
- Media Type = File
- Maximum Concurrent Jobs = 4
-}
-
-Storage {
- Name = File1
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage1
- Media Type = File1
- Maximum Concurrent Jobs = 4
-}
-
-
-# Definition of DLT tape storage device
-#Storage {
-# Name = DLTDrive
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
-# Device = "HP DLT 80" # must be same as Device in Storage daemon
-# Media Type = DLT8000 # must be same as MediaType in Storage daemon
-#}
-
-# Definition of DDS tape storage device
-#Storage {
-# Name = SDT-10000
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
-# Device = SDT-10000 # must be same as Device in Storage daemon
-# Media Type = DDS-4 # must be same as MediaType in Storage daemon
-#}
-
-# Definition of 8mm tape storage device
-#Storage {
-# Name = "8mmDrive"
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-# Device = "Exabyte 8mm"
-# MediaType = "8mm"
-#}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-Messages {
- Name = NoEmail
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- console = all, !skipped, !terminate
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-# Label Format = "TEST-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}:${NumVols}"
-}
+++ /dev/null
-REM
-REM Create fresh virtual disk changer directory
-REM
-RD /s /q tmp\disk-changer >nul 2>&1
-MKDIR tmp\disk-changer
+++ /dev/null
-REM
-REM Create two blank tapes
-REM
-REM mt -f @tape_drive@ offline
-@changer_path@ -f @autochanger@ unload
-@changer_path@ -f @autochanger@ load 1
-mt -f @tape_drive@ rewind
-mt -f @tape_drive@ weof
-@changer_path@ -f @autochanger@ unload
-@changer_path@ -f @autochanger@ load 2
-mt -f @tape_drive@ rewind
-mt -f @tape_drive@ weof
-REM @changer_path@ -f @autochanger@ unload
+++ /dev/null
-REM
-REM Script to setup running Bacula regression tests
-REM
-
-IF "%1" == "" GOTO :usage
-IF "%2" == "" GOTO :usage
-IF "%3" == "" GOTO :usage
-IF "%4" == "" GOTO :usage
-IF "%5" == "" GOTO :usage
-IF "%6" == "" GOTO :usage
-IF "%7" == "" GOTO :usage
-GOTO :param_count_ok
-
-:usage
-ECHO Incorrect number of arguments.
-ECHO setup bacula-src build-type email-address smtp-host tape-device changer-device tape1-device
-ECHO.
-EXIT /b 1
-
-:param_count_ok
-RD /s /q build bin tmp working >nul 2>&1
-MKDIR tmp
-
-REM Copy new source
-ECHO Copying source from %1
-SET SRC=%1
-FOR /r %1 %%i in ( debug release ) do IF EXIST %%i ECHO %%i | sed -e "s;%SRC:\=\\%\\;;" -e "/installer\\%2/d" -e "/win32\\%2/d" >>tmp\exclude_list
-ECHO .bsc >>tmp\exclude_list
-ECHO .ncb >>tmp\exclude_list
-
-XCOPY %1 build\ /EXCLUDE:tmp\exclude_list /e /q
-
-DEL build\src\win32\%2\winbacula*.exe
-
-CALL scripts\install_bacula %2 %3 %4 %5 %6 %7
-
-CALL scripts\bacula stop >nul 2>&1
-
-IF NOT EXIST working MKDIR working
-ECHO Running database creation scripts
-CALL bin\create_bacula_database
-CALL bin\drop_bacula_tables
-CALL bin\make_bacula_tables
-CALL bin\grant_bacula_privileges
-
-REM Start and stop Bacula to ensure conf files are OK
-
-CALL scripts\bacula start
-CALL scripts\bacula stop >nul 2>&1
-
-REM
-REM Save Bacula default conf files for later use
-REM
-COPY bin\*.conf scripts >nul
-GOTO :EOF
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.33
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- SubSysDirectory = "@subsysdir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData=yes
-}
-
-Job {
- Name = "MonsterSave"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File1
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-Job {
- Name = "VerifyVolume"
- Type = Verify
- Level = VolumeToCatalog
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-Job {
- Name = "SparseTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-Job {
- Name = "CompressedTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="CompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Maximum Concurrent Jobs = 4
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-# Max Run Time = 15 seconds
-}
-
-Job {
- Name = "SparseCompressedTest"
- Type = Backup
- Client=@hostname@-fd
- FileSet="SparseCompressedSet"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-# Backup the catalog database (after the nightly save)
-Job {
- Name = "BackupCatalog"
- Type = Backup
- Client=@hostname@-fd
- FileSet="Catalog"
-# Schedule = "WeeklyCycleAfterBackup"
- Storage = File
- Messages = Standard
- Pool = Default
- # This creates an ASCII copy of the catalog
- RunBeforeJob = "@sbindir@/make_catalog_backup -u bacula"
- # This deletes the copy of the catalog
- RunAfterJob = "@sbindir@/delete_catalog_backup"
- Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
-}
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=MD5 }
- File = </tmp/file-list
- }
-}
-
-FileSet {
- Name = "SparseSet"
- Include { Options { signature=MD5; sparse=yes }
- File=</tmp/file-list
- }
-}
-
-FileSet {
- Name = "CompressedSet"
- Include {
- Options { signature=MD5; compression=GZIP }
- File =</tmp/file-list
- }
-}
-
-FileSet {
- Name = "SparseCompressedSet"
- Include {
- Options {
- signature=MD5; compression=GZIP
- }
- File= </tmp/file-list
- }
-}
-
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# This schedule does the catalog. It starts after the WeeklyCycle
-Schedule {
- Name = "WeeklyCycleAfterBackup"
- Run = Full sun-sat at 1:10
-}
-
-# This is the backup of the catalog
-FileSet {
- Name = "Catalog"
- Include { Options { signature=MD5 }
- File=/home/kern/bacula/regress/bin/working/bacula.sql
- }
-}
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-# Definiton of file storage device
-Storage {
- Name = File
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage
- Media Type = File
- Maximum Concurrent Jobs = 4
-}
-
-Storage {
- Name = File1
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage1
- Media Type = File1
- Maximum Concurrent Jobs = 4
-}
-
-
-# Definition of DLT tape storage device
-#Storage {
-# Name = DLTDrive
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
-# Device = "HP DLT 80" # must be same as Device in Storage daemon
-# Media Type = DLT8000 # must be same as MediaType in Storage daemon
-#}
-
-# Definition of DDS tape storage device
-#Storage {
-# Name = SDT-10000
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
-# Device = SDT-10000 # must be same as Device in Storage daemon
-# Media Type = DDS-4 # must be same as MediaType in Storage daemon
-#}
-
-# Definition of 8mm tape storage device
-#Storage {
-# Name = "8mmDrive"
-# Address = @hostname@ # N.B. Use a fully qualified name here
-# SDPort = 8103
-# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-# Device = "Exabyte 8mm"
-# MediaType = "8mm"
-#}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-Messages {
- Name = NoEmail
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- console = all, !skipped, !terminate
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-#
-# Default Bacula File Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# There is not much to change here except perhaps the
-# File daemon Name to
-#
-
-#
-# List Directors who are permitted to contact this File daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"
-}
-
-#
-# "Global" File daemon configuration specifications
-#
-FileDaemon { # this is me
- Name = @hostname@-fd
- FDport = 8102 # where we listen for the director
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- SubSys Directory = "@subsysdir@"
-}
-
-# Send all messages except skipped files back to Director
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Default Bacula Storage Daemon Configuration file
-#
-# For Bacula release 1.33
-#
-# You may need to change the name of your tape drive
-# on the "Archive Device" directive in the Device
-# resource. If you change the Name and/or the
-# "Media Type" in the Device resource, please ensure
-# that dird.conf has corresponding changes.
-#
-
-Storage { # definition of myself
- Name = @hostname@-sd
- SDPort = 8103 # Director's port
- WorkingDirectory = "@working_dir@"
- Pid Directory = "@piddir@"
- Subsys Directory = "@subsysdir@"
-}
-
-#
-# List Directors who are permitted to contact Storage daemon
-#
-Director {
- Name = @hostname@-dir
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
-}
-
-#
-# Devices supported by this Storage daemon
-# To connect, the Director's bacula-dir.conf must have the
-# same Name and MediaType.
-#
-
-Device {
- Name = FileStorage
- Media Type = File
- Archive Device = @tmpdir@
- LabelMedia = yes; # lets Bacula label unlabelled media
- Random Access = Yes;
- AutomaticMount = yes; # when device opened, read it
- RemovableMedia = no;
- AlwaysOpen = no;
-# Maximum File Size = 10KB
-}
-
-Device {
- Name = FileStorage1
- Media Type = File1
- Archive Device = @tmpdir@
- LabelMedia = yes; # lets Bacula label unlabelled media
- Random Access = Yes;
- AutomaticMount = yes; # when device opened, read it
- RemovableMedia = no;
- AlwaysOpen = no;
-}
-
-
-#Device {
-# Name = "HP DLT 80"
-# Media Type = DLT8000
-# Archive Device = /dev/nst0
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = yes;
-# RemovableMedia = yes;
-#}
-
-#Device {
-# Name = SDT-7000 #
-# Media Type = DDS-2
-# Archive Device = /dev/nst0
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = yes;
-# RemovableMedia = yes;
-#}
-
-#Device {
-# Name = Floppy
-# Media Type = Floppy
-# Archive Device = /mnt/floppy
-# RemovableMedia = yes;
-# Random Access = Yes;
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = no;
-#}
-
-#
-# A very old Exabyte with no end of media detection
-#
-#Device {
-# Name = "Exabyte 8mm"
-# Media Type = "8mm"
-# Archive Device = /dev/nst0
-# Hardware end of medium = No;
-# AutomaticMount = yes; # when device opened, read it
-# AlwaysOpen = Yes;
-# RemovableMedia = yes;
-#}
-
-#
-# Send all messages to the Director,
-# mount messages also are sent to the email address
-#
-Messages {
- Name = Standard
- director = @hostname@-dir = all, !terminate
-}
+++ /dev/null
-#
-# Bacula User Agent (or Console) Configuration File
-#
-
-Director {
- Name = @hostname@-dir
- DIRport = 8101
- address = @hostname@
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
-}
+++ /dev/null
-#
-# TestA Bacula Director Configuration file
-#
-# For Bacula release 1.30 (12 April 2003) -- redhat 7.3
-#
-
-Director { # define myself
- Name = @hostname@-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- SubSysDirectory = "@subsysdir@"
- Maximum Concurrent Jobs = 1
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
- Messages = Standard
-}
-
-
-Job {
- Name = "MultiVol"
- Type = Backup
- Client=@hostname@-fd
- Level = Full
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Write Bootstrap = "@working_dir@/SmallVols.bsr"
- Pool = SmallVols
- SpoolData = yes
-}
-
-
-Job {
- Name = "VerifyVolume"
- Type = Verify
- Level = VolumeToCatalog
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
-}
-
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=@hostname@-fd
- FileSet="Full Set"
- Storage = File
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Include { Options { signature=SHA1 }
- File =</tmp/file-list
- }
-}
-
-
-# Client (File Services) to backup
-Client {
- Name = @hostname@-fd
- Address = @hostname@
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
-}
-
-# Definiton of file storage device
-Storage {
- Name = File
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage
- Media Type = File
-}
-
-Storage {
- Name = File1
- Address = @hostname@ # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
- Device = FileStorage1
- Media Type = File1
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate
-
- append = "@working_dir@/log" = all, !skipped
-}
-
-Messages {
- Name = NoEmail
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- console = all, !skipped, !terminate, !restored
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
-
-Pool {
- Name = SmallVols
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
- Maximum Volumes = 10
- MaximumVolumeBytes = 10M
- LabelFormat = Small
-}
+++ /dev/null
-#
-# Default Bacula Director Configuration file
-#
-# The only thing that MUST be changed is to add one or more
-# file or directory names in the Include directive of the
-# FileSet resource.
-#
-# For Bacula release 1.39.23
-#
-# You might also want to change the default email address
-# from root to your address. See the "mail" and "operator"
-# directives in the Messages resource.
-#
-
-Director { # define myself
- Name = localhost-dir
- DIRport = 8101 # where we listen for UA connections
- QueryFile = "@scriptdir@/query.sql"
- WorkingDirectory = "@working_dir@"
- PidDirectory = "@piddir@"
- Maximum Concurrent Jobs = 4
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- Messages = Daemon
-}
-
-#
-# Define the main nightly save backup job
-# By default, this job will back up to disk in /tmp
-Job {
- Name = "NightlySave"
- Type = Backup
- Client=Tibs
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Write Bootstrap = "@working_dir@/NightlySave.bsr"
- Maximum Concurrent Jobs = 4
- SpoolData = yes
-}
-
-
-# Standard Restore template, to be changed by Console program
-Job {
- Name = "RestoreFiles"
- Type = Restore
- Client=Tibs
- FileSet="Full Set"
- Storage = DDS-4
- Messages = Standard
- Pool = Default
- Where = /tmp/bacula-restores
-}
-
-
-# List of files to be backed up
-FileSet {
- Name = "Full Set"
- Enable VSS = yes
- Include { Options { signature=MD5; portable=no
- compression=GZIP }
-# File = "c:/cygwin" # big
- File = "c:/cygwin/home/kern/bacula/k"
- }
-}
-
-
-#
-# When to do the backups, full backup on first sunday of the month,
-# differential (i.e. incremental since full) every other sunday,
-# and incremental backups other days
-Schedule {
- Name = "WeeklyCycle"
- Run = Full 1st sun at 1:05
- Run = Differential 2nd-5th sun at 1:05
- Run = Incremental mon-sat at 1:05
-}
-
-# Client (File Services) to backup
-Client {
- Name = Tibs
- Address = tibs
- FDPort = 9102
- Catalog = MyCatalog
- Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-Client {
- Name = localhost-fd
- Address = localhost
- FDPort = 8102
- Catalog = MyCatalog
- Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc"
- File Retention = 30d # 30 days
- Job Retention = 180d # six months
- AutoPrune = yes # Prune expired Jobs/Files
- Maximum Concurrent Jobs = 4
-}
-
-
-# Definition of DDS tape storage device
-Storage {
- Name = DDS-4
- Address = 192.168.68.112 # N.B. Use a fully qualified name here
- SDPort = 8103
- Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
- Device = DDS-4 # must be same as Device in Storage daemon
- Media Type = DDS-4 # must be same as MediaType in Storage daemon
- AutoChanger = yes
- Maximum Concurrent Jobs = 4
-}
-
-
-# Generic catalog service
-Catalog {
- Name = MyCatalog
- dbname = bacula; user = bacula; password = ""
-}
-
-# Reasonable message delivery -- send most everything to email address
-# and to the console
-Messages {
- Name = Standard
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
- operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
- MailOnError = @job_email@ = all, !terminate
- operator = @job_email@ = mount
- console = all, !skipped, !terminate, !restored
-#
-# WARNING! the following will create a file that you must cycle from
-# time to time as it will grow indefinitely. However, it will
-# also keep all your messages if the scroll off the console.
-#
- append = "@working_dir@/log" = all, !skipped
-}
-
-#
-# Message delivery for daemon messages (no job).
-Messages {
- Name = Daemon
- mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
- mail = @job_email@ = all, !skipped
- console = all, !skipped, !saved
- append = "@working_dir@/log" = all, !skipped
-}
-
-
-# Default pool definition
-Pool {
- Name = Default
- Pool Type = Backup
- Recycle = yes # Bacula can automatically recycle Volumes
- AutoPrune = yes # Prune expired volumes
- Volume Retention = 365d # one year
-}
+++ /dev/null
-# nothing needed for Linux
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=1
-status storage=DDS-4
-@#setdebug level=120 storage=DDS-4
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-@sleep 3
-status storage=DDS-4
-wait
-list volumes
-list jobs
-status storage=DDS-4
-messages
-quit
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-status storage=DDS-4
-@#setdebug level=120 storage=DDS-4
-run level=Incremental job=NightlySave yes
-wait
-list volumes
-status storage=DDS-4
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores
-7
-<@topdir@/tmp/restore-list
-
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then create some
-REM new files, do an Incremental and restore those two files.
-REM
-REM This script uses the virtual disk autochanger and two drives
-REM
-SET TestName=2drive-incremental-2disk
-SET JobName=2drive2disk
-
-CALL config_out
-CALL scripts\functions set_debug 0
-
-CALL scripts\cleanup
-CALL scripts\copy-2disk-drive-confs >nul 2>&1
-CALL scripts\prepare-two-disks
-
-CALL scripts\functions change_jobname localhost-fd %JobName%
-CALL scripts\functions start_test
-
-ECHO %CD:\=/%/tmp/build >\tmp\file-list
-IF NOT EXIST tmp\build MKDIR tmp\build
-COPY build\src\dird\*.c tmp\build >nul 2>&1
-
-ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list
-ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list
-
-REM Turn off Prefer Mounted Volumes so we use2 drives
-COPY bin\bacula-dir.conf tmp\1 >nul 2>&1
-REM Comment the next line out to write everything to one drive
-REM otherwise, it writes the two jobs to different drives
-sed -e "s;# Prefer Mounted Volumes; Prefer Mounted Volumes;g" tmp\1 >bin\bacula-dir.conf
-
-REM Write out bconsole commands
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\2drive-incremental-2disk.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-ECHO ficheriro1.txt >tmp\build\ficheriro1.txt
-ECHO ficheriro2.txt >tmp\build\ficheriro2.txt
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\2drive-incremental-2disk.2.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-CALL scripts\functions check_for_zombie_jobs storage=DDS-4
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-REM The restore should read from TestVolume002, which was on drive 1
-grep TestVolume002 tmp\log2.out >nul 2>&1
-IF %ERRORLEVEL% NEQ 0 SET rstat=%ERRORLEVEL%
-
-REM
-REM Delete .c files because we will only restored the txt files
-REM
-DEL tmp\build\*.c
-CALL scripts\functions check_restore_tmp_build_diff
-
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do an Incremental and restore those two files.
-#
-# This script uses the autochanger and two tapes
-#
-. config.out
-if test x${TAPE_DRIVE1} = x/dev/null ; then
- echo "Skipping 2drive-incremenatal-2tape test. No second drive."
- exit
-fi
-TestName="2drive-incremental-2tape"
-JobName="2drive2tape"
-. scripts/functions
-set_debug 0
-
-cwd=`pwd`
-
-scripts/copy-2drive-confs
-scripts/cleanup-2drive
-
-change_jobname localhost-fd $JobName
-
-echo "${cwd}/tmp/build" >/tmp/file-list
-if test ! -d ${cwd}/tmp/build ; then
- mkdir ${cwd}/tmp/build
-fi
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-# Turn off Prefer Mounted Volumes so we use 2 drives
-outf="tmp/sed_tmp"
-echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf}
-cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1
-# Comment the next line out to write everything to one drive
-# otherwise, it writes the two jobs to different drives
-sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf
-
-start_test
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=1
-@#setdebug level=100 storage=DDS-4
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-run job=NightlySave yes
-@sleep 3
-status storage=DDS-4
-wait
-list volumes
-list jobs
-status storage=DDS-4
-messages
-quit
-END_OF_DATA
-
-run_bacula
-
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-status storage=DDS-4
-@#setdebug level=400 storage=DDS-4
-run level=Incremental job=NightlySave yes
-wait
-list volumes
-status storage=DDS-4
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-check_restore_tmp_build_diff
-
-end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-status all
-status all
-list pools
-messages
-@#setdebug level=110 storage=File
-run job=@JobName@ storage=File yes
-list pools
-list volumes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File
-unmark *
-mark *
-count
-ls *
-dir *
-find Makefile
-pwd
-lsmark
-estimate
-?
-help
-done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Test if Bacula can automatically create a Volume label.
-REM
-
-SET TestName=auto-label-test
-SET JobName=AutoLabel
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-COPY bin\bacula-dir.conf tmp\1
-sed -e "s;# Label Format; Label Format;" tmp\1 >bin\bacula-dir.conf
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\auto-label-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape then restore it, we do that twice to ensure that
-# we can correctly append to a tape.
-# We also use the purge and the relabel commands as
-# well as a pile of status storage commands.
-#
-TestName="backup-bacula-tape"
-JobName=backuptape
-. scripts/functions
-set_debug 0
-
-scripts/copy-tape-confs
-scripts/cleanup-tape
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-
-# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-@#setdebug level=200 storage=DDS-4
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-purge volume=TestVolume001
-relabel pool=Default storage=DDS-4 oldVolume=TestVolume001 volume=TestVolume002 slot=0
-purge volume=TestVolume002
-relabel pool=Default storage=DDS-4 oldVolume=TestVolume002 volume=TestVolume001 slot=0
-run job=$JobName yes
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-@sleep 1
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-@sleep 1
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-@sleep 1
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-@sleep 1
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-status storage=DDS-4
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-list volumes
-messages
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-#
-# Now do a second backup after making a few changes
-#
-touch ${cwd}/build/src/dird/*.c
-echo "test test" > ${cwd}/build/src/dird/xxx
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-list volumes
-run job=$JobName yes
-wait
-list volumes
-messages
-@#
-@# now do a second restore
-@#
-@$out tmp/log2.out
-list volumes
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-list volumes
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label volume=TestVolume001
-@#setdebug level=100 storage=File
-run job=@JobName@ yes
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-@sleep 1
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-@sleep 1
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-status storage=File
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select all done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory
-REM then restore it.
-REM
-
-SET TestName=backup-bacula-test
-SET JobName=backup
-CALL scripts\functions set_debug 0
-
-CALL scripts\cleanup
-CALL scripts\copy-confs >nul 2>&1
-
-CALL scripts\functions change_jobname Client1 %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\backup-bacula-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape then restore it, we do that twice to ensure that
-# we can correctly append to a tape.
-#
-TestName="backup-win32-tape"
-JobName=backupwintape
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-win32-confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=NightlySave yes
-@sleep 10
-status storage=DDS-4
-@sleep 30
-messages
-wait
-messages
-@#
-@# now do a restore
-@#
-@$outt tmp/log2.out
-@#restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-@#yes
-@#wait
-@#messages
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File1 volume=TestVolume001
-label storage=File1 volume=TestVolume002
-update Volume=TestVolume001 MaxVolBytes=3000000
-@#setdebug level=400 dir
-@#setdebug level=400 storage=File1
-run job=@JobName@ storage=File1 yes
-wait
-messages
-@#
-@# now build the bsr file
-@#
-@@out@ tmp/log2.out
-restore bootstrap=@topdir@/working/restore.bsr where=@topdir@/tmp/bacula-restores select all storage=File1 done
-no
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory but
-REM split the archive into two volumes, then build a BSR with
-REM the restore command and use bextract to restore the files.
-REM
-SET TestName=bextract-test
-SET JobName=bextract
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\bextract-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File1
-CALL scripts\functions stop_bacula
-
-MKDIR %CD%\tmp\bacula-restores
-bin\bextract -b working/restore.bsr -c bin/bacula-sd.conf %CD:\=/%/tmp %CD:\=/%/tmp/bacula-restores 2>&1 >nul
-SET rstat=%ERRORLEVEL%
-grep "^ Termination: *Backup OK" tmp\log1.out 2>&1 >nul
-SET bstat=%ERRORLEVEL%
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then
-# do a bscan and restore.
-# It should require at least 4 different bsrs.
-#
-TestName="bscan-tape"
-JobName=bscantape
-. scripts/functions
-set_debug 1
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-# sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-setdebug level=2 storage=DDS-4
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-echo "Starting Bacula tape writing"
-#bin/btape -c bin/bacula-sd.conf /dev/nst0 <<END_OF_DATA
-#rewind
-#label
-#Test001
-#wr
-#wr
-#wr
-#wr
-#wr
-#wr
-#weof
-#quit
-#END_OF_DATA
-#run_bacula
-#check_for_zombie_jobs storage=DDS-4
-#stop_bacula
-echo "End writing tape"
-
-#
-# now drop and recreate the database
-#
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
-
-echo "Begin attempt to read tape that crashes the system"
-echo "volume=TestVolume001" >tmp/bscan.bsr
-strace -o strace.new bin/bscan -d200 -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4
-exit
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log2.out
-@#
-@# now do a restore
-@#
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-rm -f ${cwd}/build/src/lib/dummy
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then
-# do a bscan and restore.
-# It should require at least 4 different bsrs.
-#
-TestName="bscan-tape"
-JobName=bscantape
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-estimate job=$JobName listing
-estimate job=$JobName listing
-estimate job=$JobName listing
-messages
-@$out tmp/log1.out
-setdebug level=2 storage=DDS-4
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-run job=$JobName level=Full yes
-wait
-run job=$JobName level=Full yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-
-echo "Backup 1 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-
-#
-# run a second job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-scripts/check_for_zombie_jobs storage=DDS-4
-
-echo "Backup 2 done"
-touch ${cwd}/build/src/dird/*.c
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#
-# run a third job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-scripts/check_for_zombie_jobs storage=DDS-4
-
-echo "Backup 3 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#echo "abc" > ${cwd}/build/src/lib/dummy
-#
-# run a fourth job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-
-scripts/check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-echo "Backup 4 done"
-#
-# now drop and recreate the database
-#
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
-
-echo "volume=TestVolume001" >tmp/bscan.bsr
-bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 2>&1 >/dev/null
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log2.out
-@#
-@# now do a restore
-@#
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-rm -f ${cwd}/build/src/lib/dummy
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=File1
-TestVolume001
-label storage=File1
-TestVolume002
-update Volume=TestVolume001 MaxVolBytes=3000000
-run job=@JobName@ storage=File1
-yes
-wait
-messages
-@@out@ nul
-@#
-@# now purge the Volume
-@#
-purge volume=TestVolume001
-purge volume=TestVolume002
-delete volume=TestVolume001
-yes
-delete volume=TestVolume002
-yes
-messages
-quit
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log2.out
-@#
-@# now do a restore
-@#
-@#setdebug level=400 storage=File1
-restore bootstrap=@topdir@/tmp/bscan.bsr where=@topdir@/tmp/bacula-restores select all storage=File1 done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory but
-REM split the archive into two volumes then bscan it
-REM into the catalog after the backup. It also to a limited
-REM extent tests the purge volume and delete volume commands.
-REM
-
-SET TestName=bscan-test
-SET JobName=bscan
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\bscan-test.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File1
-CALL scripts\functions stop_bacula
-
-ECHO volume=TestVolume001^|TestVolume002 >tmp\bscan.bsr
-
-IF %debug% EQU 1 (
- bin\bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf %CD:\=/%/tmp | tools\tee tmp\log.out
-) ELSE (
- bin\bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf %CD:\=/%/tmp >nul 2>&1
-)
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\bscan-test.2.bscr >tmp\bconcmds
-
-REM now run restore
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File1
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=File1 volume=TestVolume001
-label storage=File1 volume=TestVolume002
-update Volume=TestVolume001 MaxVolBytes=3000000
-run job=@JobName@ storage=File1 yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore bootstrap=@topdir@/working/restore.bsr where=@topdir@/tmp/bacula-restores select storage=File1
-unmark *
-cd @topdir@/build/src/cats
-mark *
-ls
-done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory but
-REM split the archive into two volumes, then restore
-REM files on only one of the volumes and ensure that
-REM the other volume is not used. I.e. bsr optimization
-REM works.
-REM
-SET TestName=bsr-opt-test
-SET JobName=bsr-opt
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\bsr-opt-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File1
-CALL scripts\functions stop_bacula
-REM
-REM This test is not really reliable. What we want to do is
-REM to select files on only one Volume, then insure here
-REM that only one Volume is chosen.
-REM
-grep TestVolume002 working\restore.bsr >nul 2>&1
-SET bsrstat=%ERRORLEVEL%
-CALL scripts\functions check_two_logs
-
-diff -r build\src\cats tmp\bacula-restores\%CD::=%\build\src\cats >nul 2>&1
-SET /A errcount = %bsrstat% + %bstat% + %rstat%
-IF %errcount% NEQ 0 (
- ECHO.
- ECHO.
- ECHO !!!!! bsr-opt-test Bacula source failed!!! !!!!!
- ECHO !!!!! bsr-opt-test failed!!! !!!!! >>test.out
-
- SET /A errcount = %bstat% + %rstat%
- IF %errcount% NEQ 0 (
- ECHO !!!!! Bad Job termination status !!!!!
- ECHO !!!!! Bad Job termination status !!!!! >>test.out
- ) ELSE IF %bsrstat% NEQ 0 (
- ECHO !!!!! Volume selection error !!!!!
- ECHO !!!!! Volume selection error !!!!! >>test.out
- ) ELSE (
- ECHO !!!!! Restored files differ !!!!!
- ECHO !!!!! Restored files differ !!!!! >>test.out
- )
- ECHO.
-) ELSE (
- ECHO ===== bsr-opt-test Bacula source OK %TIME% =====
- ECHO ===== bsr-opt-test OK %TIME% ===== >>test.out
- CALL scripts\cleanup
-)
+++ /dev/null
-#!/bin/sh
-#
-# Test the fill command in btape
-#
-TestName="btape-fill-full-tape"
-JobName=AutoLabel
-. scripts/functions
-set_debug 0
-
-scripts/copy-tape-confs
-scripts/cleanup-tape
-
-change_jobname $JobName
-start_test
-
-bin/btape -c bin/bacula-sd.conf DDS-4 <<END_OF_DATA 2>&1 >tmp/log1.out
-fill
-s
-
-quit
-END_OF_DATA
-
-
-grep "^The last block on the tape matches\. Test succeeded\." tmp/log1.out 2>&1 >/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " !!!!! btape fill test failed!!! !!!!! "
- echo " !!!!! btape fill test failed!!! !!!!! " >>test.out
- echo " "
-else
- echo " ===== btape fill test OK ===== "
- echo " ===== btape fill test OK ===== " >>test.out
-# scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Test the fill command in btape
-#
-TestName="btape-fill-tape"
-JobName=filltape
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# MaximumVolumeSize% MaximumVolumeSize%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-fill
-s
-quit
-END_OF_DATA
-
-run_btape DDS-4
-
-grep "^The last block on the tape matches\. Test succeeded\." tmp/log1.out 2>&1 >/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " !!!!! btape fill test failed!!! !!!!! "
- echo " !!!!! btape fill test failed!!! !!!!! " >>test.out
- echo " "
-else
- echo " ===== btape fill test OK ===== "
- echo " ===== btape fill test OK ===== " >>test.out
-# scripts/cleanup
-fi
+++ /dev/null
-@output
-messages
-@@out@ tmp/log1.out
-status all
-status all
-messages
-label storage=File volume=TestVolume001
-run job=@JobName@ storage=File yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory using the compressed option
-REM then restore it.
-REM
-SET TestName=compressed-test
-SET JobName=compressed
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\compressed-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ level=Full yes
-run job=@JobName@ level=Full yes
-run job=@JobName@ level=Full yes
-run job=@JobName@ level=Full yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run two jobs at the same time
-REM
-
-SET TestName=concurrent-jobs-test
-SET JobName=concurrent-jobs
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/tmp/largefile >\tmp\file-list
-ECHO Creating a 50MB file with bacula-dir data ...
-tools\dd if=bin/bacula-dir.exe of=%CD:\=/%/tmp/1 bs=1024 count=512 >nul 2>&1
-COPY /b %CD%\tmp\1+%CD%\tmp\1+%CD%\tmp\1+%CD%\tmp\1 %CD%\tmp\2 >nul 2>&1
-DEL %CD%\tmp\1
-COPY /b %CD%\tmp\2+%CD%\tmp\2+%CD%\tmp\2+%CD%\tmp\2+%CD%\tmp\2 %CD%\tmp\3 >nul 2>&1
-DEL %CD%\tmp\2
-COPY /b %CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3 %CD%\tmp\largefile >nul 2>&1
-DEL %CD%\tmp\3
-
-ECHO largefile created
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\concurrent-jobs-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-diff tmp\largefile tmp\bacula-restores\%CD::=%\tmp\largefile >nul 2>&1
-SET dstat=%ERRORLEVEL%
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-MUID=`/usr/bin/id -u`
-if [ $MUID != 0 ] ; then
- echo " "
- echo "You must be root to run this test."
- echo " ===== !!!! dev-test-root not run !!!! ===== "
- echo " ===== !!!! dev-test-root not run !!!! ===== " >>test.out
- echo " "
- exit 1
-fi
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "/dev" >/tmp/file-list
-
-echo " "
-echo " "
-echo " === Starting dev-test-root test ==="
-echo " "
-echo " === Note, this test can fail for trivial ==="
-echo " === reasons on non-Linux systems. ==="
-echo " "
-echo " "
-
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=File volume=TestVolume001
-run job=NightlySave yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test dev >${cwd}/tmp/original
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test dev >${cwd}/tmp/restored
-cd ${cwd}/tmp
-#
-# Use sed to cut out parts that *always* change
-#
-cat >sed.scr <<END_OF_DATA
-s%.*dev$%dev%
-s%.*[0-9][0-9]:[0-9][0-9]:[0-9][0-9] dev/ptmx%dev/ptmx%
-s%.*[0-9][0-9]:[0-9][0-9]:[0-9][0-9] dev/ttyp1%dev/ttyp1%
-s%.*[0-9][0-9]:[0-9][0-9]:[0-9][0-9] dev/null%dev/null%
-END_OF_DATA
-
-# strip file system change messages then sed and sort
-grep -v "Skip: File system change prohibited." original >1
-sed -f sed.scr 1 | sort >original
-#
-mv -f restored 1
-sed -f sed.scr 1 | sort >restored
-rm -f sed.scr
-#
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== !!!! dev-test-root failed !!!! ===== "
- echo " ===== !!!! dev-test-root failed !!!! ===== " >>test.out
- echo " "
-else
- echo " ===== dev-test-root OK ===== "
- echo " ===== dev-test-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume002
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-@# Force differential on the second Volume
-update volume=TestVolume002 VolStatus=Used
-run level=differential job=@JobName@ yes
-wait
-messages
-@@out@
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-run level=incremental job=@JobName@ yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores storage=File file=<@topdir@/tmp/restore-list
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then create some
-REM new files, do a differential and restore those two files.
-REM
-SET TestName=differential-test
-SET JobName=differential
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/tmp/build >\tmp\file-list
-MKDIR tmp\build
-COPY build\src\dird\*.c tmp\build >nul 2>&1
-
-ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list
-ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\differential-test.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-
-ECHO ficheriro1.txt >tmp\build\ficheriro1.txt
-ECHO ficheriro2.txt >tmp\build\ficheriro2.txt
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\differential-test.2.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-
-CALL scripts\functions check_for_zombie_jobs storage=File
-ECHO ficheriro2.txt >tmp\build\ficheriro2.txt
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\differential-test.3.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-REM
-REM Delete .c files because we will only restore the txt files
-REM
-DEL tmp\build\*.c
-CALL scripts\functions check_restore_tmp_build_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to two tapes where the maximum tape file size is set to 1M
-#
-TestName="eot-fail-tape"
-JobName=eotfailtape
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-out="tmp/sed_tmp"
-echo "s%# Maximum File Size% Maximum File Size%g" >${out}
-cp -f ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed -f ${out} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-update Volume=TestVolume001 MaxVolBytes=3000000
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@tee
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-MUID=`/usr/bin/id -u`
-if [ $MUID != 0 ] ; then
- echo " "
- echo "You must be root to run this test."
- echo " ===== !!!! etc-test-root not run !!!! ===== "
- echo " ===== !!!! etc-test-root not run !!!! ===== " >>test.out
- echo " "
- exit 1
-fi
-echo " "
-echo " "
-echo " === Starting /etc save/restore test ==="
-echo " "
-echo " "
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "/etc" >/tmp/file-list
-
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=File
-TestVolume001
-run job=NightlySave
-yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test etc >${cwd}/tmp/1
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test etc >${cwd}/tmp/2
-sort <${cwd}/tmp/1 >${cwd}/tmp/original
-sort <${cwd}/tmp/2 >${cwd}/tmp/restored
-rm -f ${cwd}/tmp/1 ${cwd}/tmp/2
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/null
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== !!!! etc-test-root failed !!!! ===== "
- echo " ===== !!!! etc-test-root failed !!!! ===== " >>test.out
- echo " "
-else
- echo " ===== etc-test-root OK ===== "
- echo " ===== etc-test-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape where we set the minimum and maximum block
-# sizes.
-#
-TestName="fixed-block-size-tape"
-JobName=fixedblocksize
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-echo "s%# Maximum Block Size% Maximum Block Size%" >${cwd}/tmp/2
-echo "s%# Minimum Block Size% Minimum Block Size%" >>${cwd}/tmp/2
-sed -f ${cwd}/tmp/2 ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo "!!!! sed problem in Fixed Block Size test !!!!!"
- echo " "
- exit 1
-fi
-rm -f ${cwd}/tmp/1 ${cwd}/tmp/2
-
-change_jobname NightlySave $JobName
-start_test
-
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DDS-4
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run four jobs at the same time
-#
-TestName="four-concurrent-jobs-tape"
-JobName=FourConcurrentJobs
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName level=Full Storage=DDS-4 yes
-run job=$JobName level=Full Storage=DDS-4 yes
-run job=$JobName level=Full Storage=DDS-4 yes
-run job=$JobName level=Full Storage=DDS-4 yes
-@sleep 2
-status dir
-@sleep 5
-status dir
-status storage=DDS-4
-messages
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DDS-4
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File1
-TestVolume001
-label storage=File1
-TestVolume002
-update Volume=TestVolume001 MaxVolBytes=100000000
-@#50000000
-@#12
-run job=@JobName@ level=Full Storage=File1
-yes
-reload
-run job=@JobName@ level=Full Storage=File1
-yes
-reload
-run job=@JobName@ level=Full Storage=File1
-yes
-reload
-run job=@JobName@ level=Full Storage=File1
-yes
-reload
-reload
-reload
-reload
-@sleep 2
-status dir
-reload
-@sleep 5
-messages
-reload
-reload
-wait
-reload
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File1
-unmark *
-mark *
-done
-yes
-wait
-reload
-reload
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run two jobs at the same time
-REM
-SET TestName=four-concurrent-jobs-test
-SET JobName=Four-concurrent-jobs
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-concurrent-jobs-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File1
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then finally restore.
-# It should require at least 4 different bsrs.
-#
-TestName="four-jobs-tape"
-JobName=fourjobstape
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-estimate job=$JobName listing
-estimate job=$JobName listing
-estimate job=$JobName listing
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-
-scripts/check_for_zombie_jobs storage=DDS-4
-echo "Backup 1 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-
-#
-# run a second job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-
-scripts/check_for_zombie_jobs storage=DDS-4
-echo "Backup 2 done"
-touch ${cwd}/build/src/dird/*.c
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#
-# run a third job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-
-scripts/check_for_zombie_jobs storage=DDS-4
-echo "Backup 3 done"
-# make some files for the incremental to pick up
-touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
-#
-# run a fourth job
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Incremental yes
-wait
-messages
-quit
-END_OF_DATA
-if test "$debug" -eq 1 ; then
- bin/bacula start
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
-else
- bin/bacula start 2>&1 >/dev/null
- cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null
-fi
-
-scripts/check_for_zombie_jobs storage=DDS-4
-echo "Backup 4 done"
-#
-# now do several restores to ensure we cleanup between jobs
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-@$out tmp/log2.out
-@#
-@# now unmount the tape and start two restores
-@# at the same time
-@#
-unmount storage=DDS-4
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-restore where=${cwd}/tmp/bacula-restores select
-unmark *
-mark *
-done
-yes
-mount storage=DDS-4
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-@output nul
-estimate job=@JobName@ listing
-estimate job=@JobName@ listing
-estimate job=@JobName@ listing
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-run job=@JobName@
-yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@output tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@output tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-restore where=@topdir@/tmp/bacula-restores select all storage=File done
-yes
-wait
-restore where=@topdir@/tmp/bacula-restores select all storage=File done
-yes
-wait
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory using the compressed option
-REM then backup four times, each with incremental then finally restore.
-REM It should require at least 4 different bsrs.
-REM
-SET TestName=four-jobs-test
-SET JobName=SpanVol
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >/tmp/file-list
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-
-ECHO Backup 1 done
-
-REM make some files for the incremental to pick up
-tools\touch %CD:\=/%/build/src/dird/*.c
-tools\touch %CD:\=/%/build/src/lib/*.c
-
-REM
-REM run a second job
-REM
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.2.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-CALL scripts\functions check_for_zombie_jobs storage=File
-
-ECHO Backup 2 done
-
-tools\touch %CD:\=/%/build/src/dird/*.c
-tools\touch %CD:\=/%/build/src/lib/*.c
-
-REM
-REM run a third job
-REM
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.3.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-CALL scripts\functions check_for_zombie_jobs storage=File
-
-ECHO Backup 3 done
-
-REM make some files for the incremental to pick up
-tools\touch %CD:\=/%/build/src/lib/*.c
-
-REM
-REM run a fourth job
-REM
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.4.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-CALL scripts\functions check_for_zombie_jobs storage=File
-
-ECHO Backup 4 done
-REM
-REM now do several restores to ensure we cleanup between jobs
-REM
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.5.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-TestName="hardlink-test"
-JobName=hardlink
-. scripts/functions
-set_debug 0
-
-if test ! -d weird-files ; then
- echo " "
- echo "Weird files not configured. Test not run."
- exit 0
-fi
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-change_jobname NightlySave $JobName
-#
-# Note, we save the weird-files directory twice on purpose
-# because this causes problems with hard linked files
-# that are only saved once. In 1.33, Bacula now deals
-# with this situation.
-#
-echo "${cwd}/weird-files" >/tmp/file-list
-echo "${cwd}/weird-files" >>/tmp/file-list
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File
-TestVolume001
-run job=$JobName
-yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=File
-5
-cd ${cwd}/weird-files/subdir
-mark another-hardlink
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-check_two_logs
-diff ${cwd}/weird-files/subdir/another-hardlink \
- ${cwd}/tmp/bacula-restores/${cwd}/weird-files/subdir/another-hardlink 2>&1 >/dev/null
-dstat=$?
-end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=0
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-run level=Incremental job=@JobName@ yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores
-7
-<@topdir@/tmp/restore-list
-
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then create some
-REM new files, do an Incremental and restore those two files.
-REM
-REM This script uses the virtual disk autochanger
-REM
-SET TestName=incremental-2disk
-SET JobName=Inc2disk
-
-CALL scripts\functions set_debug 0
-
-CALL config_out
-
-CALL scripts\functions stop_bacula
-
-CALL bin\drop_bacula_tables >nul 2>&1
-CALL bin\make_bacula_tables >nul 2>&1
-CALL bin\grant_bacula_privileges >nul 2>&1
-
-CALL scripts\copy-2disk-confs >nul 2>&1
-CALL scripts\prepare-two-disks
-
-ECHO %CD:\=/%/tmp/build >\tmp\file-list
-IF NOT EXIST tmp\build MKDIR tmp\build
-
-COPY build\src\dird\*.c tmp\build >nul 2>&1
-ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list
-ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list
-
-CALL scripts\functions change_jobname %JobName%
-CALL scripts\functions start_test
-
-REM Write out bconsole commands
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-2disk.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-
-ECHO ficheriro1.txt >tmp\build\ficheriro1.txt
-ECHO ficheriro2.txt >tmp\build\ficheriro2.txt
-
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-2disk.2.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-REM
-REM Delete .c files because we will only restored the txt files
-REM
-DEL tmp\build\*.c
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_tmp_build_diff
-CALL scripts\functions end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=0
-run job=NightlySave yes
-wait
-messages
-quit
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-run level=Incremental job=NightlySave yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores
-7
-<@topdir@/tmp/restore-list
-
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then create some
-REM new files, do an Incremental and restore those two files.
-REM
-REM This script uses the autochanger and two tapes
-REM
-SET TestName=incremental-2tape
-SET JobName=inctwotape
-CALL scripts\functions set_debug 0
-
-CALL config_out
-IF "%AUTOCHANGER%" == "nul" (
- ECHO incremental-2tape test skipped. No autochanger.
- EXIT
-)
-
-CALL scripts\functions stop_bacula
-CALL drop_bacula_tables >nul 2>&1
-CALL make_bacula_tables >nul 2>&1
-CALL grant_bacula_privileges >nul 2>&1
-
-CALL scripts\copy-2tape-confs
-CALL scripts\cleanup-2tape
-ECHO %CD:\=/%/tmp/build >\tmp\file-list
-IF NOT EXIST tmp\build MKDIR tmp\build
-COPY build\src\dird\*.c tmp\build
-ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list
-ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list
-
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-2tape.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-
-ECHO ficheriro1.txt >tmp\build\ficheriro1.txt
-ECHO ficheriro2.txt >tmp\build\ficheriro2.txt
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-2tape.2.bscr >tmp\bconcmds
-CALL scripts\functions run_bconsole
-CALL scripts\bacula stop_bacula
-CALL scripts\bacula check_two_logs
-REM
-REM Delete .c files because we will only restore the txt files
-REM
-DEL tmp\build\*.c
-CALL scripts\bacula check_restore_tmp_build_diff
-CALL scripts\bacula end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory then create some
-# new files, do an Incremental and restore those two files.
-#
-TestName="incremental-tape"
-JobName=IncTape
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/tmp/build" >/tmp/file-list
-if test ! -d ${cwd}/tmp/build ; then
- mkdir ${cwd}/tmp/build
-fi
-cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
-cd ${cwd}/tmp
-echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
-echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
-cd ${cwd}
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-
-echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run level=Incremental job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=DDS-4
-7
-<${cwd}/tmp/restore-list
-
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-#
-# Delete .c files because we will only restored the txt files
-#
-rm -f tmp/build/*.c
-
-check_two_logs
-check_restore_tmp_build_diff
-end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-label storage=File volume=TestVolume002
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-@# Force Incremental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-run level=Differential job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-run level=Incremental job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-run level=Differential job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-run level=Incremental job=@JobName@ yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores storage=File file=<@topdir@/tmp/restore-list
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then create some
-REM new files, do an Incremental and restore those two files.
-REM
-SET TestName=incremental-test
-SET JobName=Incremental
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/tmp/build>/tmp/file-list
-
-MKDIR tmp\build
-COPY build\src\dird\*.c tmp\build >nul 2>&1
-
-ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list
-ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-REM
-REM Now create two new files to be restored later
-REM
-bin\bsleep 1
-ECHO ficheriro1.txt >tmp\build\ficheriro1.txt
-COPY tmp\build\dird.c tmp\build\ficheriro2.txt >nul 2>&1
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.2.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-
-bin\bsleep 1
-touch tmp\build\ficheriro1.txt
-touch tmp\build\ficheriro2.txt
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.3.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-
-bin\bsleep 1
-
-COPY tmp\build\ficheriro2.txt tmp\build\1 >nul 2>&1
-sed -e "s;a;b;g" tmp\build\1 >tmp\build\ficheriro2.txt
-DEL tmp\build\1
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.4.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-
-bin\bsleep 1
-touch tmp\build\ficheriro1.txt
-touch tmp\build\ficheriro2.txt
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.3.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-
-bin\bsleep 1
-touch tmp\build\ficheriro1.txt
-touch tmp\build\ficheriro2.txt
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.3.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-
-bin\bsleep 1
-touch tmp\build\ficheriro1.txt
-touch tmp\build\ficheriro2.txt
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.3.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-bin\bsleep 1
-touch tmp\build\ficheriro1.txt
-touch tmp\build\ficheriro2.txt
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.5.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-REM
-REM Delete .c files because we will only restored the txt files
-REM
-DEL tmp\build\*.c
-CALL scripts\functions check_restore_tmp_build_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the /lib directory
-# then restore it.
-#
-cwd=`pwd`
-bin/bacula stop 2>&1 >/dev/null
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-echo "/lib" >/tmp/file-list
-echo " "
-echo " "
-echo " === Starting lib-tape-root test ==="
-echo " "
-echo " "
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=DDS-4 Volume=TestVolume001 slot=0
-run job=NightlySave yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored
-cd ${cwd}/tmp
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1
-sort <1 >original
-#
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1
-sort <1 >restored
-rm -f 1
-#
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/nul
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== lib-tape-root failed!!! ===== "
- echo " ===== lib-tape-root failed!!! ===== " >>test.out
- echo " "
-else
- echo " ===== lib-tape-root OK ===== "
- echo " ===== lib-tape-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-MUID=`/usr/bin/id -u`
-if [ $MUID != 0 ] ; then
- echo " "
- echo "You must be root to run this test."
- echo " ===== !!!! lib-test-root not run !!!! ===== "
- echo " ===== !!!! lib-test-root not run !!!! ===== " >>test.out
- echo " "
- exit 1
-fi
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-echo "/lib" >/tmp/file-list
-
-echo " "
-echo " "
-echo " === Starting /lib save/restore test ==="
-echo " "
-echo " "
-
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=File
-TestVolume001
-run job=NightlySave
-yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-lib-test lib >${cwd}/tmp/original
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-lib-test lib >${cwd}/tmp/restored
-cd ${cwd}/tmp
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1
-sort <1 >original
-#
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1
-sort <1 >restored
-rm -f 1
-#
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/nul
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== !!!! lib-test-root failed !!!! ===== "
- echo " ===== !!!! lib-test-root failed !!!! ===== " >>test.out
- echo " "
-else
- echo " ===== lib-test-root OK ===== "
- echo " ===== lib-test-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then migrate it
-REM to another device.
-REM
-REM This script uses the virtual disk autochanger
-REM
-SET TestName=migration-job-test
-SET JobName=MigrationJobSave
-
-CALL scripts\functions set_debug 0
-
-CALL config_out
-
-CALL scripts\cleanup
-CALL scripts\copy-migration-confs
-CALL scripts\prepare-two-disks
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-REM
-REM Note, we first backup into Pool Default,
-REM then Migrate into Pool Full.
-REM Pool Default uses Storage=File
-REM Pool Full uses Storage=DiskChanger
-
-REM Write out bconsole commands
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-job-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then migrate it
-REM to another device.
-REM
-REM Test migrating a job that spans two Volumes
-REM
-REM This script uses the virtual disk autochanger
-REM
-SET TestName=migration-jobspan-test
-SET JobName=MigrationJobSpanSave
-
-CALL scripts\functions set_debug 0
-
-CALL config_out
-
-CALL scripts\cleanup
-CALL scripts\copy-migration-confs
-CALL scripts\prepare-two-disks
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-COPY bin\bacula-sd.conf tmp\1
-sed "s;# Maximum File Size; Maximum File Size;" %CD%\tmp\1 >%CD%\bin\bacula-sd.conf
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-REM
-REM Note, we first backup into Pool Default,
-REM then Migrate into Pool Full.
-REM Pool Default uses Storage=File
-REM Pool Full uses Storage=DiskChanger
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-jobspan-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then migrate it
-REM to another device.
-REM
-REM This script uses the virtual disk autochanger
-REM
-SET TestName=migration-occupancy-test
-SET JobName=MigrationJobSave
-
-CALL scripts\functions set_debug 0
-
-CALL config_out
-
-CALL scripts\cleanup
-CALL scripts\copy-migration-confs
-CALL scripts\prepare-two-disks
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-REM
-REM Note, we first backup into Pool Default,
-REM then Migrate into Pool Full.
-REM Pool Default uses Storage=File
-REM Pool Full uses Storage=DiskChanger
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-occupancy-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then migrate it
-REM to another device.
-REM
-REM This script uses the virtual disk autochanger
-REM
-SET TestName=migration-time-test
-SET JobName=MigrationJobSave
-
-CALL scripts\functions set_debug 0
-
-CALL config_out
-
-CALL scripts\cleanup
-CALL scripts\copy-migration-confs
-CALL scripts\prepare-two-disks
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-REM
-REM Note, we first backup into Pool Default,
-REM then Migrate into Pool Full.
-REM Pool Default uses Storage=File
-REM Pool Full uses Storage=DiskChanger
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-time-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-REM
-REM Run a backup of the Bacula build directory on two Volumes
-REM then migrate it to another device.
-REM
-REM This script uses the virtual disk autochanger
-REM
-SET TestName=migration-volume-test
-SET JobName=MigVolBackup
-
-CALL scripts\functions set_debug 0
-
-CALL config_out
-
-CALL scripts\cleanup
-CALL scripts\copy-migration-confs
-CALL scripts\prepare-two-disks
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-REM COPY bin\bacula-sd.conf tmp\1
-REM sed "s;# Maximum File Size; Maximum File Size;" tmp\1 >bin\bacula-sd.conf
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-REM
-REM Note, we first backup into Pool Default,
-REM then Migrate into Pool Full.
-REM Pool Default uses Storage=File
-REM Pool Full uses Storage=DiskChanger
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-volume-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-label storage=File volume=TestVolume002
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-@# Force differental on the second Volume
-update volume=TestVolume001 VolStatus=Used
-run level=differental job=@JobName@ yes
-wait
-messages
-@output
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-run level=incremental job=@JobName@ yes
-wait
-messages
-@#
-@# Now do the queries
-@#
-query
-1
-ficheriro1.txt
-query
-2
-@topdir@/tmp/build/
-ficheriro1.txt
-localhost-fd
-query
-6
-TestVolume001
-query
-7
-1
-query
-8
-localhost-fd
-query
-9
-Default
-query
-10
-query
-11
-query
-12
-1
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores storage=File file=<@topdir@/tmp/restore-list
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory then create some
-REM new files, do a Differental then a bunch of query commands
-REM and finally restore the two files.
-REM
-SET TestName=query-test
-SET JobName=query
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/tmp/build >\tmp\file-list
-MKDIR tmp\build
-COPY build\src\dird\*.c tmp\build >nul 2>&1
-ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list
-ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\query-test.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-
-ECHO ficheriro1.txt >tmp\build\ficheriro1.txt
-ECHO ficheriro2.txt >tmp\build\ficheriro2.txt
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\query-test.2.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-
-ECHO ficheriro2.txt >tmp\build\ficheriro2.txt
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\query-test.3.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-REM
-REM Delete .c files because we will only restored the txt files
-REM
-DEL tmp\build\*.c
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_tmp_build_diff
-CALL scripts\functions end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File1 volume=TestVolume001
-label storage=File1 volume=TestVolume002
-label storage=File1 volume=TestVolume003
-update Volume=TestVolume001 volretention=10s
-update Volume=TestVolume001 maxvoljobs=1
-update Volume=TestVolume002 volretention=10s
-update Volume=TestVolume002 maxvoljobs=1
-update Volume=TestVolume003 volretention=10s
-update Volume=TestVolume003 maxvoljobs=1
-list volumes
-run job=@JobName@ storage=File1 level=full yes
-wait
-messages
-list volumes
-run job=@JobName@ storage=File1 level=full yes
-wait
-messages
-list volumes
-run job=@JobName@ storage=File1 level=full yes
-wait
-messages
-list volumes
-@sleep 10
-run job=@JobName@ storage=File1 level=full yes
-wait
-messages
-list volumes
-run job=@JobName@ storage=File1 level=full yes
-wait
-messages
-list volumes
-run job=@JobName@ storage=File1 level=full yes
-wait
-messages
-list volumes
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File1
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory but
-REM create three volumes and do six backups causing the
-REM volumes to be recycled, and cycling through the volumes
-REM twice. Tests maxvoljobs and volretention.
-REM
-SET TestName=recycle-test
-SET JobName=Recycle
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\recycle-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File1
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory using the compressed option
-# then backup four times, each with incremental then finally restore.
-# It should require at least 4 different bsrs.
-#
-TestName="relabel-tape"
-JobName=Relabeltape
-. scripts/functions
-set_debug 0
-
-scripts/cleanup-tape
-scripts/copy-tape-confs
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName level=Full yes
-wait
-messages
-add pool=Default
-0
-TestVolume002
-@# set status to append
-update volume=TestVolume001
-1
-.
-run job=NightlySave level=Full yes
-@sleep 20
-unmount
-unmount
-purge volume=TestVolume001
-relabel oldvolume=TestVolume001 volume=TestVolume003 slot=0 pool=Default
-list volumes
-mount
-messages
-wait
-run job=$JobName level=Full yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-
-
-echo "Backup done"
-#
-# now do several restores to ensure we cleanup between jobs
-#
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-@$out tmp/log2.out
-@#
-@# now unmount the tape and start two restores
-@# at the same time
-@#
-unmount storage=DDS-4
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-restore where=${cwd}/tmp/bacula-restores select
-unmark *
-mark *
-done
-yes
-mount storage=DDS-4
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape where the maximum tape file size is set to 1M
-# then restore a few files from it. Note, by setting the maximum
-# file size to 1M, it runs very slow. There are about 64 files that
-# are created during each of the two backups.
-#
-TestName="restore-by-file-tape"
-JobName=restorebyfile
-. scripts/functions
-set_debug 0
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-sed s%\^%${cwd}% ${cwd}/scripts/flist >${cwd}/tmp/restore2-list
-
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-run job=$JobName level=Full yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores storage=DDS-4 file=<${cwd}/tmp/restore2-list
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-dstat=0
-#
-# We need to stop and start Bacula to
-# test appending to a previously written tape
-#
-for i in `cat ${cwd}/tmp/restore2-list`; do
- diff $i ${cwd}/tmp/bacula-restores$i
- if [ $? != 0 ] ; then
- dstat=1
- fi
-done
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-run job=$JobName level=Full yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-7
-<${cwd}/tmp/restore2-list
-
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-#
-# Bacula was stopped, but we must restart it to
-# test appending to a previously written tape
-#
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-
-scripts/check_for_zombie_jobs storage=DDS-4
-bin/bacula stop 2>&1 >/dev/null
-for i in `cat ${cwd}/tmp/restore2-list`; do
- diff $i ${cwd}/tmp/bacula-restores$i
- if [ $? != 0 ] ; then
- dstat=1
- fi
-done
-
-end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores storage=File
-7
-<@topdir@/tmp/restore-list
-
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory using the compressed option
-REM then restore it.
-REM
-
-SET TestName=restore-by-file-test
-SET JobName=restorebyfile
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/tmp/build >\tmp\file-list
-MKDIR tmp\build
-COPY build\src\dird\*.c tmp\build >nul 2>&1
-DIR /b tmp\build >tmp\1
-sed -e "s;^;%CD:\=/%/tmp/build/;" tmp\1 >tmp\restore-list
-DEL tmp\1
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\restore-by-file-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_tmp_build_diff
-CALL scripts\functions end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-sql
-select * from JobMedia;
-
-restore bootstrap=@topdir@/tmp/rbn.bsr where=@topdir@/tmp/bacula-restores storage=File
-7
-<@topdir@/tmp/restore-list
-
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a backup of the full bacula build directory, but with the
-REM Maximum File Size set. Then do a restore of a few files to kick in
-REM disk seeking (not yet enabled), and ensure that the restored files
-REM match. Even though disk seeking is not yet enabled, this is a good test,
-REM and once it is enabled, this will test it.
-REM
-SET TestName=restore-disk-seek-test
-SET JobName=restore-disk-seek
-
-CALL scripts\functions set_debug 1
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/tmp/build >\tmp\file-list
-
-IF EXIST tmp\build RD /s /q tmp\build
-MKDIR tmp\build
-
-REM Copy only the .c files (to be restored)
-REM set files to "*.c" for all c files
-SET files=ua_tree.c ua_update.c
-REM SET files=*.c
-FOR %%i in ( %files% ) DO COPY build\src\dird\%%i tmp\build >nul 2>&1
-DIR /b tmp\build >tmp\1
-sed -e "s;^;%CD:\=/%/tmp/build/;" tmp\1 >tmp\restore-list
-
-REM At this point restore-list contains the list
-REM of files we will restore
-DEL tmp\1
-
-REM Now backup *everything*
-IF EXIST tmp\build RD /s /q tmp\build
-MKDIR tmp\build
-COPY build\src\dird\* tmp\build >nul 2>&1
-REM Enable MaximumFileSize
-COPY bin\bacula-sd.conf tmp\1 >nul 2>&1
-sed "s;# Maximum File Size; Maximum File Size;" tmp\1 >bin\bacula-sd.conf
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\restore-disk-seek-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-REM Now setup a control directory of only what we *should* restore
-RD /s /q tmp\build
-MKDIR tmp\build
-FOR %%i in ( %files% ) DO COPY build\src\dird\%%i tmp\build >nul 2>&1
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_tmp_build_diff
-CALL scripts\functions end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores storage=File file=<@topdir@/tmp/restore2-list
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory using the compressed option
-REM then restore a few selected files.
-REM
-SETLOCAL ENABLEDELAYEDEXPANSION
-SET TestName=restore2-by-file-test
-SET JobName=restore2byfile
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-sed -e "s;^;%CD:\=/%;" scripts/flist >tmp\restore2-list
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\restore2-by-file-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-SET dstat=0
-FOR /f %%i IN ( tmp\restore2-list ) DO (
- SET SUBDIR=%%i
- diff %%i tmp/bacula-restores/!SUBDIR::=!
- IF %ERRORLEVEL% NEQ 0 SET dstat=1
-)
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Test if Bacula can automatically create a Volume label.
-#
-
-TestName="runscript-test"
-
-. scripts/functions
-set_debug 0
-copy_test_confs
-
-rm -f bin/bacula-dir.conf
-/bin/cp -f scripts/bacula-dir.conf.testrunscript bin/bacula-dir.conf
-
-echo "${cwd}/build" >/tmp/file-list
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-label volume=TestVolume001
-@#setdebug level=100 storage=File
-@output tmp/log.RUN2.out
-run job=RUN_FD_WARNING yes
-wait
-@sleep 5
-messages
-run job=RUN_ALL_OK yes
-wait
-@sleep 5
-messages
-run job=RUN_FD_FAILED yes
-wait
-@sleep 5
-messages
-run job=RUN_DIR_FAILED yes
-wait
-@sleep 5
-messages
-st dir
-quit
-END_OF_DATA
-
-
-bin/bacula start
-cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf &> tmp/log.RUN1.out
-
-stop_bacula
-
-if grep -q 'dir: BeforeJob: run command "/bin/echo RunBeforeJob"' tmp/log.RUN1.out &&
- grep -q 'fd: ClientRunBeforeJob: ClientRunBeforeJob' tmp/log.RUN1.out &&
- grep -q 'fd: ClientAfterJob: run command "/bin/echo ClientRunAfterJob' tmp/log.RUN1.out &&
- grep -q 'dir: AfterJob: run command "/bin/echo RunAfterJob' tmp/log.RUN1.out
-then
- [ "$debug" -eq 1 ] && echo RUN_ALL_OK ok
-else
- echo "RUN_ALL_OK in error"
- rstat=1
-fi
-
-if grep -q 'dir: BeforeJob: run command "/bin/false RUN_DIR_FAILED"' tmp/log.RUN1.out &&
- grep -q 'dir: BeforeJob: RunAfterFailedJob' tmp/log.RUN1.out &&
- true # grep -q 'Backup OK -- with warnings' tmp/log.RUN1.out
-then
- [ "$debug" -eq 1 ] && echo RUN_DIR_FAILED ok
-else
- echo "RUN_DIR_FAILED in error"
- rstat=1
-fi
-
-if grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED1"' tmp/log.RUN1.out &&
- grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED2"' tmp/log.RUN1.out &&
- grep -q 'dir: AfterJob: run command "/bin/echo RunAfterFailedJob"' tmp/log.RUN1.out
-then
- [ "$debug" -eq 1 ] && echo RUN_FD_FAILED ok
-else
- echo "RUN_FD_FAILED in error"
- rstat=1
-fi
-
-if grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_WARNING"' tmp/log.RUN1.out &&
- grep -q 'Backup OK -- with warnings' tmp/log.RUN1.out
-then
- [ "$debug" -eq 1 ] && echo RUN_FD_WARNING ok
-else
- echo "RUN_FD_WARNING in error"
- rstat=1
-fi
-
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Scratch drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Scratch drive=0
-update Volume=TestVolume001 MaxVolBytes=2000000 pool=Scratch drive=0
-update Volume=TestVolume001 inchanger=no pool=Scratch drive=0
-@#setdebug level=200 storage=DDS-4
-llist volume=TestVolume001
-llist volume=TestVolume002
-run job=@JobName@ yes
-wait
-messages
-list volumes
-llist volume=TestVolume001
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory
-REM to two tapes where the maximum tape file size is set to 1M
-REM Note, this test simulates the tape filling and writing to
-REM the next tape. One minor wrinkle: we create the two tapes
-REM in the Scratch pool, so they should be switched to the Default
-REM Pool automatically.
-REM We set TestVolume001 to not in the changer, so the algorithm
-REM should find TestVolume002 and use it rather than blocking.
-REM
-REM Note we use the viritual disk autochanger
-REM
-SET TestName=scratch-pool-test
-SET JobName=scratch-pool
-
-CALL scripts\functions set_debug 0
-
-CALL config_out
-IF "%AUTOCHANGER%" == "nul" (
- ECHO two-volume-test skipped. No autochanger.
- EXIT /b 1
-)
-
-CALL scripts\cleanup
-CALL scripts\copy-2disk-confs >nul 2>&1
-CALL scripts\prepare-two-disks
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-COPY bin\bacula-sd.conf tmp\1 >nul 2>&1
-sed -e "s;# Maximum File Size; Maximum File Size;g" tmp\1 >bin\bacula-sd.conf
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-REM Write out bconsole commands
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\scratch-pool-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=DDS-4
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-run job=@JobName@ storage=File yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Create a 60MB file with random bytes. Back it up to 6 Volumes
-REM each constrained to 10MB using the automatic labeling feature.
-REM
-SET TestName=six-vol-test
-SET JobName=SixVol
-
-CALL scripts\functions set_debug 0
-
-CALL scripts\cleanup
-CALL scripts\copy-testa-confs >nul 2>&1
-ECHO %CD:\=/%/tmp/largefile >\tmp\file-list
-
-ECHO Creating a 60MB file with bacula-dir data ...
-tools\dd if=bin/bacula-dir.exe of=%CD:\=/%/tmp/1 bs=1024 count=500 >nul 2>&1
-COPY /b %CD%\tmp\1+%CD%\tmp\1+%CD%\tmp\1+%CD%\tmp\1+%CD%\tmp\1 %CD%\tmp\2 >nul 2>&1
-DEL %CD%\tmp\1
-COPY /b %CD%\tmp\2+%CD%\tmp\2 %CD%\tmp\3 >nul 2>&1
-DEL %CD%\tmp\2
-COPY /b %CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3 %CD%\tmp\4 >nul 2>&1
-COPY /b %CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\3+%CD%\tmp\4 %CD%\tmp\largefile >nul 2>&1
-DEL %CD%\tmp\3 %CD%\tmp\4
-
-CALL scripts\functions change_jobname MultiVol %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\six-vol-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-diff tmp\largefile tmp\bacula-restores\%CD::=%\tmp\largefile >nul 2>&1
-SET dstat=%ERRORLEVEL%
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape where the maximum tape file size is set to 1M
-#
-TestName="small-file-size-tape"
-JobName=smallfilesize
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1
-sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-setdebug level=2 storage=DDS-4
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=DDS-4
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File1 volume=TestVolume004
-label storage=File1 volume=TestVolume003
-label storage=File1 volume=TestVolume002
-label storage=File1 volume=TestVolume001
-update Volume=TestVolume004 MaxVolBytes=3000000
-update Volume=TestVolume003 MaxVolBytes=3000000
-update Volume=TestVolume002 MaxVolBytes=3000000
-run job=@JobName@ storage=File1 yes
-wait
-list volumes
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File1
-unmark *
-mark *
-done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory but
-REM split the archive into four volumes, two of which are
-REM totally full. I.e. make sure that bsr selects all tapes
-REM including those fully spanned.
-REM
-SET TestName=span-vol-test
-SET JobName=SpanVol
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\span-vol-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File1
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-run job=SparseCompressedTest yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select all storage=File done
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory using the Sparse option
-REM then restore it.
-REM
-SET TestName=sparse-compressed-test
-SET JobName=Sparse-conpressed
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\sparse-compressed-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory using the Sparse option
-REM then restore it.
-REM
-SET TestName=sparse-test
-SET JobName=SparseTest
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\sparse-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-COPY nul test.out >nul 2>&1
-DEL bin\working\* 2>&1
+++ /dev/null
-#!/bin/sh
-#
-# Test for a tape truncation bug.
-#
-TestName="truncate-bug-tape"
-JobName=truncatebug
-. scripts/functions
-
-set_debug 0
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default
-@# do a bunch of saves so we have 12 files on the tape
-run job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-run level=Full job=$JobName yes
-@#setdebug level=100 storage=DDS-4
-wait
-messages
-quit
-END_OF_DATA
-
-run_bacula
-scripts/check_for_zombie_jobs storage=DDS-4
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log2.out
-@#
-@# now do a restore
-@#
-restore where=${cwd}/tmp/bacula-restores storage=DDS-4
-3
-@# select JobId=4 (i.e. file five on the tape)
-4
-cd ${cwd}/build
-@# mark a single file
-mark configure
-done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-
-run_bconsole
-scripts/check_for_zombie_jobs storage=DDS-4
-
-# Now write to tape one more time
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log3.out
-run level=Full job=$JobName yes
-wait
-messages
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-grep "^ Termination: *Backup OK" tmp/log3.out 2>&1 >/dev/null
-dstat=$?
-end_test
+++ /dev/null
-setdebug level=15 storage=File
-@output nul
-messages
-@output nul
-estimate job=@JobName@ listing
-estimate job=@JobName@ listing
-estimate job=@JobName@ listing
-messages
-@@out@ tmp/log1.out
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-run job=@JobName@
-yes
-wait
-messages
-@#
-@# now do several restores to ensure we cleanup between jobs
-@#
-@output nul
-restore where=@topdir@/tmp/bacula-restores select all storage=File done
-yes
-wait
-restore where=@topdir@/tmp/bacula-restores select all storage=File done
-yes
-wait
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@output
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory using the compressed option
-REM then backup a second time and finally restore it
-REM
-SET TestName=two-jobs-test
-SET JobName=Two-Jobs
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname CompressedTest %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-jobs-test.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File
-
-ECHO Backup 1 done
-tools\touch build\src\dird\*.c
-
-REM
-REM run a second job
-REM
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-jobs-test.2.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bconsole
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# This is Arno's test. It uses two pools, two tapes, and
-# an autochanger. Note, the Director has three Pools in its
-# conf: Default, Full, and Inc. Default is used in the
-# NightlySave job by default. What is backed up is what
-# is in /tmp/file-list, which is by default the Bacula
-# source code (i.e. the build directory).
-#
-TestName="two-pool-tape"
-JobName=twopooltape
-. scripts/functions
-set_debug 0
-
-. config.out
-if test x${AUTOCHANGER} = x/dev/null ; then
- echo "two-pool-tape test skipped. No autochanger."
- exit
-fi
-
-scripts/cleanup
-scripts/copy-2tape-confs
-echo "Prepare two tapes"
-scripts/prepare-two-tapes
-echo "Done prepare two tapes"
-
-# Make a relatively large backup set 5 x source code directory
-echo "${cwd}/build" >/tmp/file-list
-echo "${cwd}/build" >>/tmp/file-list
-echo "${cwd}/build" >>/tmp/file-list
-echo "${cwd}/build" >>/tmp/file-list
-echo "${cwd}/build" >>/tmp/file-list
-
-start_test
-
-# Write out bconsole commands to a file
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Full drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
-list volumes
-@# Start job with Client run before and sleep
-run job=NightlySave1 level=Full pool=Default yes
-run job=NightlySave1 level=Full pool=Default yes
-run job=NightlySave1 level=Full pool=Default yes
-@# wait between starting jobs
-@sleep 60
-@#setdebug level=100 storage=DDS-4
-run job=NightlySave2 level=Full pool=Full yes
-run job=NightlySave2 level=Full pool=Full yes
-run job=NightlySave2 level=Full pool=Full yes
-@sleep 10
-messages
-@sleep 10
-messages
-@sleep 10
-status storage=DDS-4
-messages
-wait
-list volumes
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-check_restore_diff
-end_test
+++ /dev/null
-@output nul
-messages
-@@out@ tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Full drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
-list volumes
-@# Start job with Client run before and sleep
-run job=NightlySave1 level=Full pool=Default yes
-run job=NightlySave1 level=Full pool=Default yes
-run job=NightlySave1 level=Full pool=Default yes
-@# wait between starting jobs
-@sleep 60
-@#setdebug level=100 storage=DDS-4
-run job=NightlySave2 level=Full pool=Full yes
-run job=NightlySave2 level=Full pool=Full yes
-run job=NightlySave2 level=Full pool=Full yes
-@sleep 10
-messages
-@sleep 10
-messages
-@sleep 10
-status storage=DDS-4
-messages
-wait
-list volumes
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM This is Arno's test. It uses two pools, two tapes, and
-REM an autochanger. Note, the Director has three Pools in its
-REM conf: Default, Full, and Inc. Default is used in the
-REM NightlySave job by default. What is backed up is what
-REM is in /tmp/file-list, which is by default the Bacula
-REM source code (i.e. the build directory).
-REM
-REM Note, we use the virtual disk autochanger.
-REM
-SET TestName=two-pool-test
-SET JobName=Two-pool
-
-CALL scripts\functions set_debug 0
-
-CALL config_out
-
-CALL scripts\cleanup
-CALL scripts\copy-2disk-confs >nul 2>&1
-CALL scripts\prepare-two-disks
-
-REM Make a relatively large backup set 5 x source code directory
-REM Reduced to 1 for portable
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions start_test
-
-REM Write out bconsole commands to a file
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-pool-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=DDS-4
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=File1 volume=TestVolume002
-label storage=File1 volume=TestVolume001
-update Volume=TestVolume002 MaxVolBytes=3000000
-run job=@JobName@ storage=File1 yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select all storage=File1 done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory but
-REM split the archive into two volumes
-REM
-SET TestName=two-vol-test
-SET JobName=TwoVol
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-vol-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=File1
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ @topdir@/tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
-update Volume=TestVolume001 MaxVolBytes=3000000 pool=Default drive=0
-@#setdebug level=1000 client
-run job=@JobName@ yes
-wait
-messages
-quit
+++ /dev/null
-@@out@ nul
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory
-REM to two tapes where the maximum tape file size is set to 1M
-REM Note, this test simulates the tape filling and writing to
-REM the next tape.
-REM
-SET TestName=two-volume-tape
-SET JobName=twovoltape
-CALL scripts\functions set_debug 0
-
-CALL config_out
-IF "%AUTOCHANGER%" == "nul" (
- ECHO two-volume-tape test skipped. No autochanger.
- EXIT /b 1
-)
-
-CALL scripts\cleanup
-CALL scripts\copy-2tape-confs
-CALL scripts\prepare-two-tapes
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-COPY bin\bacula-sd.conf tmp\1
-sed -e "s%# Maximum File Size% Maximum File Size%g" >bin\bacula-sd.conf
-
-CALL scripts\functions change_jobname %JobName%
-CALL scripts\functions start_test
-
-REM Write out bconsole commands
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-volume-tape.1.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=DDS-4
-CALL scripts\functions stop_bacula
-
-mt -f %TAPE_DRIVE% rewind
-mtx -f %AUTOCHANGER% unload
-bin\bsleep 15
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-volume-tape.2.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=DDS-4
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=1 pool=Default drive=0
-label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0
-update Volume=TestVolume001 MaxVolBytes=3000000 pool=Default drive=0
-@#setdebug level=1000 client
-run job=@JobName@ yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@@out@ tmp/log2.out
-restore where=@topdir@/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-@@out@
-quit
-
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory
-REM to two tapes where the maximum tape file size is set to 1M
-REM Note, this test simulates the tape filling and writing to
-REM the next tape.
-REM
-REM Note we use the viritual disk autochanger
-REM
-SET TestName=two-volume-test
-SET JobName=TwoVolume
-CALL scripts\functions set_debug 1
-CALL config_out
-
-CALL scripts\cleanup
-CALL scripts\copy-2disk-confs >nul 2>&1
-CALL scripts\prepare-two-disks
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-COPY bin\bacula-sd.conf tmp\1
-sed -e "s;# Maximum File Size; Maximum File Size;g" tmp\1 >bin\bacula-sd.conf
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-REM Write out bconsole commands
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-volume-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-CALL scripts\functions check_for_zombie_jobs storage=DDS-4
-CALL scripts\functions stop_bacula
-
-CALL scripts\functions check_two_logs
-CALL scripts\functions check_restore_diff
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the /usr directory
-# then restore it.
-#
-cwd=`pwd`
-scripts/copy-tape-confs
-scripts/cleanup-tape
-echo "/usr" >/tmp/file-list
-
-echo " "
-echo " "
-echo " === Starting usr-tape-root test ==="
-echo " "
-echo " "
-
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
-@output /dev/null
-messages
-@output tmp/log1.out
-label storage=DDS-4 Volume=TestVolume001 slot=0
-run job=NightlySave yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all done
-yes
-wait
-messages
-@output
-quit
-END_OF_DATA
-bin/bacula stop 2>&1 >/dev/null
-cd /
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original
-cd ${cwd}/tmp/bacula-restores
-${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored
-cd ${cwd}/tmp
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1
-sort <1 >original
-#
-sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1
-sort <1 >restored
-rm -f 1
-#
-cd ${cwd}
-diff tmp/original tmp/restored 2>&1 1>/dev/nul
-if [ $? != 0 ] ; then
- echo " "
- echo " "
- echo " ===== !!!! usr-tape-root failed !!!! ===== "
- echo " ===== !!!! usr-tape-root failed !!!! ===== " >>test.out
- echo " "
-else
- echo " ===== usr-tape-root OK ===== "
- echo " ===== usr-tape-root OK ===== " >>test.out
- scripts/cleanup
-fi
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then verify the catalog.
-#
-TestName="verify-vol-tape"
-JobName=VerifyVol
-. scripts/functions
-set_debug 0
-
-copy_tape_confs
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-setdebug level=1 storage=DDS-4 sd
-label storage=DDS-4 volume=TestVolume001 pool=Default
-run job=$JobName yes
-wait
-messages
-@#
-@# now do a verify volume
-@#
-@$out ${cwd}/tmp/original
-run job=VerifyTape pool=Default
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-
-sleep 2
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
-bstat=$?
-grep "^ Termination: *Verify OK" ${cwd}/tmp/original 2>&1 >/dev/null
-rstat=$?
-dstat=0
-end_test
+++ /dev/null
-@@out@ nul
-messages
-@@out@ tmp/log1.out
-setdebug level=1 storage=File sd
-label storage=File volume=TestVolume001
-run job=@JobName@ yes
-wait
-messages
-@#
-@# now do a verify volume
-@#
-@@out@ @topdir@/tmp/original
-run job=VerifyVolume
-yes
-wait
-messages
-@@out@
-quit
+++ /dev/null
-REM
-REM Run a simple backup of the Bacula build directory
-REM then verify the catalog.
-REM
-SET TestName=verify-vol-test
-SET JobName=VerifyVol
-
-CALL scripts\functions set_debug 0
-CALL scripts\functions copy_test_confs
-
-ECHO %CD:\=/%/build >\tmp\file-list
-
-CALL scripts\functions change_jobname NightlySave %JobName%
-CALL scripts\functions start_test
-
-sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\verify-vol-test.bscr >tmp\bconcmds
-
-CALL scripts\functions run_bacula
-
-bin\bsleep 2
-CALL scripts\functions check_for_zombie_jobs storage=File
-CALL scripts\functions stop_bacula
-
-grep "^ Termination: *Backup OK" tmp\log1.out 2>&1 >nul
-SET bstat=%ERRORLEVEL%
-grep "^ Termination: *Verify OK" tmp\original 2>&1 >nul
-SET rstat=%ERRORLEVEL%
-SET dstat=0
-CALL scripts\functions end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-TestName="weird-files-test"
-JobName=wierd-files
-. scripts/functions
-set_debug 0
-
-if test ! -d weird-files ; then
- echo " "
- echo "Weird files not configured. Test not run."
- exit 0
-fi
-
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-change_jobname NightlySave $JobName
-#
-# Note, we save the weird-files directory twice on purpose
-# because this causes problems with hard linked files
-# that are only saved once. In 1.33, Bacula now deals
-# with this situation.
-#
-echo "${cwd}/weird-files" >/tmp/file-list
-echo "${cwd}/weird-files" >>/tmp/file-list
-
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File
-TestVolume001
-run job=$JobName
-yes
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select storage=File
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-stop_bacula
-
-${cwd}/bin/testls weird-files | sort >${cwd}/tmp/original
-cd tmp/bacula-restores${cwd}
-${cwd}/bin/testls weird-files | sort >${cwd}/tmp/restored
-cd ${cwd}
-
-check_two_logs
-diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null
-dstat=$?
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# then restore it.
-#
-TestName="weird-files2-test"
-JobName=weird-files2
-. scripts/functions
-set_debug 0
-
-if test ! -d weird-files ; then
- echo " "
- echo "weird files not configured. Test not run."
- exit 0
-fi
-cwd=`pwd`
-scripts/cleanup
-scripts/copy-test-confs
-rm -rf weird-files2
-cp -Rp weird-files weird-files2
-echo "${cwd}/weird-files2" >/tmp/file-list
-
-change_jobname NightlySave $JobName
-start_test
-
-bin/testls weird-files2 >${cwd}/tmp/original
-
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@$out tmp/log1.out
-label storage=File volume=TestVolume001
-run job=$JobName yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=File
-#
-# Now mess up the a hard link, and a soft link
-#
-cd weird-files2
-rm -f hard-file2
-ln hard-file3 hard-file2
-rm -f soft-file2
-ln -s soft-file3 soft-file2
-cd ${cwd}
-cat <<END_OF_DATA >tmp/bconcmds
-@$out /dev/null
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where= storage=File
-5
-unmark *
-mark *
-done
-yes
-wait
-messages
-@$out
-quit
-END_OF_DATA
-
-run_bconsole
-check_for_zombie_jobs storage=File
-stop_bacula
-
-bin/testls weird-files2 >${cwd}/tmp/restored
-
-check_two_logs
-diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null
-dstat=$?
-
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape then restore it, we do that twice to ensure that
-# we can correctly append to a tape.
-#
-TestName="win32-backup-tape"
-JobName=win32tape
-. scripts/functions
-set_debug 0
-
-scripts/copy-win32-confs
-scripts/cleanup-tape
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_jobname $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default drive=0
-run job=$JobName yes
-@sleep 10
-status storage=DDS-4
-@sleep 30
-messages
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=c:/tmp/bacula-restores select all storage=DDS-4 done
-yes
-wait
-messages
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-# no diff for now
-dstat=0
-end_test
+++ /dev/null
-#!/bin/sh
-#
-# Run a simple backup of the Bacula build directory
-# to a tape then restore it, we do that twice to ensure that
-# we can correctly append to a tape.
-#
-TestName="win32-to-linux-tape"
-JobName=AutoLabel
-. scripts/functions
-set_debug 1
-
-scripts/copy-win32-confs
-scripts/cleanup-tape
-
-echo "${cwd}/build" >/tmp/file-list
-
-change_job $JobName
-start_test
-
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
-messages
-@$out tmp/log1.out
-label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default drive=0
-run job=NightlySave yes
-@sleep 10
-status storage=DDS-4
-@sleep 30
-messages
-wait
-messages
-@#
-@# now do a restore
-@#
-@$out tmp/log2.out
-restore where=/tmp/bacula-restores client=Tibs select all storage=DDS-4 done
-yes
-wait
-messages
-END_OF_DATA
-
-run_bacula
-check_for_zombie_jobs storage=DDS-4
-stop_bacula
-
-check_two_logs
-# No diff for the moment
-dstat=0
-end_test