[Bacula-users] Presentation screenshots - program?
Hi, I'm currently evaluating Bacula. During reading the presentation slides on the website (http://www.bacula.org/presentations/Bacula-FOSDEM-talk-25Feb07.pdf), I found the screenshots on the last pages. Can you tell me what program is shown in these screenshots? It looks great :) Thx, Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ Windows would look better with curtains. - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] Bacula and Zarafa
Hi, Am Donnerstag, 23. Februar 2012, 09:55:00 schrieb Masopust, Christian: > Short question: anyone using Bacula to backup Zarafa? What to consider? > Any pitfalls? > > Ok... these were 3 questions... :)) Collax provides a number of Zarafa based products; our basic backup technology is Bacula. So ... We do. :) 1) Consider combining Zarafa's internal backup technology (Brick Level Backup) with Bacula. We encourage users to create frequent incremental backups, which then can/should be stored for longer-term usage via Bacula. 2) You can simply dump the Zarafa database with mysqldump (or anything the like), possibly in conjunction with Bacula's bpipe plugin. This will result in no longer being able to create incremental backups, but depending on the size of your installation, that may well be OK. 3) File based backup of MySQL is possible, if appropriate steps are taken. Cannot tell you too much about that, though. If you do something like this, you might consider using Postgres for Bacula. This will help reduce load on each of the databases, and will reduce write access (Catalog) to the database your are backing up. In our own infrastructure, we do frequent Brick-level backups with Zarafa's tools, and backup up the database, the attachment store, and the brick-level store in daily incrementals via Bacula (and bpipe/mysqldump in case of the database). Best regards Bastian -- Collax GmbH . Basler Str. 115a . 79115 Freiburg . Germany p: +49 (0) 89-990 157-28www.collax.com Geschäftsführer: Bernd Bönte, Boris Nalbach AG München HRB 173695. Ust.-IdNr: DE270819312 -- Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] Bacula and Zarafa
Hi, Am Samstag, 25. Februar 2012, 17:16:19 schrieb Masopust, Christian: > > 1) Consider combining Zarafa's internal backup technology > > (Brick Level Backup) > > with Bacula. We encourage users to create frequent > > incremental backups, which > > then can/should be stored for longer-term usage via Bacula. > > > Just a short question: what would be "frequent incremental backups" > as you mentioned at 1) ? I'd regard any interval between 1 hour and 24 hours as sensible for their respective setups; this largely depends on the ammount of mails and users your Zarafa installation handles, and the system load that you can spare for backup purposes. If your system can handle an incremental backup every hour, that might well be the best choice. The size of the backups will be comparably small, as will be the risk of losing data. Due to its nature, Zarafa's brick-level backup will not have too much overhead for multiple small incrementals versus a single large one. Regards Bastian -- Collax GmbH . Basler Str. 115a . 79115 Freiburg . Germany p: +49 (0) 89-990 157-28www.collax.com Geschäftsführer: Bernd Bönte, Boris Nalbach AG München HRB 173695. Ust.-IdNr: DE270819312 -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
[Bacula-users] "Run" statements, run scripts, and filesets
Hi, The "run" statements in job definitions seem to be a great way to accomplish backing up multiple distinguished subsets of a file system. By adding FileSet parameters, one job can back up a machine and still keep information about more abstract system components. Yet, preprocessing parts of these subsets with RunScript statements (and its relatives: Run Before Job, Run After Job, ...) seems to be a problem; the "%" substitutes don't include a fileset reference. Unfortunately, the relevant low level/source structures don't allow for a simple adding of such a reference, as far as I can see... Is there any chance to access the current file set name in a run script? Thx, best, Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ Seen on BBSer's tombstone: CONNECT 1953, NO CARRIER 1994 - SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] "Run" statements, run scripts, and filesets
Hi, On Tuesday 11 December 2007, Arno Lehmann wrote: > 10.12.2007 12:58,, Bastian Friedrich wrote:: > > > > The "run" statements in job definitions seem to be a great way to > > accomplish backing up multiple distinguished subsets of a file system. By > > adding FileSet parameters, one job can back up a machine and still keep > > information about more abstract system components. > > I don't think I understand what you want to do here, so if you feel > like it, a more detailed explanation (perhaps with an example ;-) > would be nice. the systems I am about to back up contain distinguished subsets of files - imagine "data belonging to the e-mail system" vs. "home directories" vs. "a network filesystem". To individually restore these subsets, it seems sensible to use single filesets for each of these subsets. Thus, I plan to use a config like this: === # Empty fileset FileSet { Name = "empty" } # Fileset 1 FileSet { Name = "email" Include { File="/var/spool/imap" [...] } [...] } # Fileset 2 FileSet { Name = "homedirs" Include { File="/home/" } [...] } # Global Job Job { Name = "MyBackup" FileSet = "empty" run = "MyBackup Fileset=email" run = "MyBackup Fileset=homedirs" [...] } === Running the Job "MyBackup" results in backups of all of the subsystems. Some of these subsystems may require a preprocessing step with the "RunScript" statement (or its relatives). I'd like to use something like Run Before Job = "/my/script/path/preprocess %f" to preprocess the filesets (given %f being the fileset name). The preprocessing script/program knows about the referenced filesets and the required preprocessing. Obviously, I could add additional job statements to be executed by the "run" statements, each including exactly one fileset. I'd rather stick with the described one job/multiple fileset design described above - if possible. > > Unfortunately, the relevant low level/source structures don't allow for a > > simple adding of such a reference, as far as I can see... > > > > Is there any chance to access the current file set name in a run script? > > I think adding that to the job codes' interpretation should be > reasonably easy. Have a look into src/lib/util.c and you'll find the > function edit_job_codes(). That's where the work is done. Getting the > name of the current file set might be a bit difficult; the JCR > contains a pointer to a JOB object, which in turn contains a pointer > to the fileset. The jcr class only contains the relevant pointers if compiled in the director context (i.e. DIRECTOR_DAEMON is set); util.c needs to be independent of that flag. Thus, I cannot find a reference to the job or fileset ressources there:( > If you have problems accessing the file set name, you should ask on > the -devel mailing list. I'll ask there, thanks :) Thanks for your support, Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ I am. Therefore, I think. I think. - SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] "Run" statements, run scripts, and filesets
Hi, On Thursday 13 December 2007, Arno Lehmann wrote: > 13.12.2007 09:54,, Bastian Friedrich wrote:: > > > > the systems I am about to back up contain distinguished subsets of files > > - imagine "data belonging to the e-mail system" vs. "home directories" > > vs. "a network filesystem". To individually restore these subsets, it > > seems sensible to use single filesets for each of these subsets. Thus, I > > plan to use a config like this: > > Ok, I get it now... though I don't see the need to link these jobs > like you want to do. The primary reason for that is the possibility to execute them manually by a single command. > If you use the run= directive, even a manual start of the "main" job > will trigger the additional jobs, which might be unwanted. That is exactly what I want :) [...] > > Job { > > Name = "MyBackup" > > FileSet = "empty" > > This one could be an Admin job, avoiding some unneeded actions inside > Bacula. Good idea. > >>> Unfortunately, the relevant low level/source structures don't allow for > >>> a simple adding of such a reference, as far as I can see... > >>> > >>> Is there any chance to access the current file set name in a run > >>> script? > >> > >> I think adding that to the job codes' interpretation should be > >> reasonably easy. Have a look into src/lib/util.c and you'll find the > >> function edit_job_codes(). That's where the work is done. Getting the > >> name of the current file set might be a bit difficult; the JCR > >> contains a pointer to a JOB object, which in turn contains a pointer > >> to the fileset. > > > > The jcr class only contains the relevant pointers if compiled in the > > director context (i.e. DIRECTOR_DAEMON is set); util.c needs to be > > independent of that flag. Thus, I cannot find a reference to the job or > > fileset ressources there:( > > Well, I'm a bit astonished, because I don't see how the DIR can *not* > know the fileset for it's work. And the DIR does initiate the scripts. The director consists of multiple binary object files, some of which are "director alone", while others are library/infrastructure. The latter have different views of some central structures -- in this case restricted views, compared with the ones in the director :( I'll probably head for the workaround: Add jobs for every fileset. Thx again, Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ Let us live!!! Let us love!!! \ Let us share the deepest secrets of our souls!!! \ You first. - SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
[Bacula-users] Redundant Run in Schedule
Hi, when configuring multiple "Run"s in a schedule that occur at the same time, they are run sequentially: Run = Full Pool = PoolSpecial w01 mon at 8:00 Run = Full Pool = Pool mon at 8:00 results in two executions of the job that refers to the schedule. This definitely is not a bug, or out of specs; normally, it is not difficult to circumvent, either: Run = Full Pool = PoolSpecial w01 mon at 8:00 Run = Full Pool = Pool w01 w02 w03 [...] w53 mon at 8:00 runs the second job only if the first job is not run. I'd have a need for exclusiveness in this case: run the job only in case it is not referenced before. Would you also regard this as a sensible modification? Maybe we (one? Kern? erm... whoever :) could add a "ElseRun" statement or similar that does not run multiple jobs in one schedule? Is there any more simple solution? Thx Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ 10.0 times 0.1 is hardly ever 1.0. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] Redundant Run in Schedule
Hi, On Mittwoch 20 Februar 2008, Arno Lehmann wrote: > > 20.02.2008 15:31, Bastian Friedrich wrote: > > [...] it is not > > difficult to circumvent, either: > > Run = Full Pool = PoolSpecial w01 mon at 8:00 > > Run = Full Pool = Pool w01 w02 w03 [...] w53 mon at 8:00 > > runs the second job only if the first job is not run. > > Really sure? Glll. Typo. Should have been "w00 202 [...]" in the second case, of course. > I think it would run both jobs, but haven't checked myself. Of course it does. Stupid me. > I have to borrow Dan's question: What do you want to achieve here? We are trying to generate Bacula schedules from other means of configuration. Considering a little more interesting backup strategies, the Bacula schedule configuration statements lack a means of "negating" points of time - or a "either/or" semantics as described here. In one point or another, I'll have to remove redundant "run" statements - either in our generating code, or somehow/somewhere inside Bacula. Both seem to be valid choices; I am currently examining them. It is perfectly legal (and sensible) to run a job e.g. "once a month" (1st mon) to one pool, and "every day" to another pool. Currently, one would need to use one "tue-sun" plus one "2nd 3rd 4th 5th mon" statement. If run statements in schedules were exclusive (given they would be run at an identical time), the configuration would be less complicated. I may be wrong, but I don't see much of a point in running the same job (just different levels and pools) twice at the same time. On the other hand, as I said: the problem can be circumvented with a little more complex configurations. Thx Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ Coming Soon!! Mouse Support for Edlin!! - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] Redundant Run in Schedule
Hi, On Thursday 21 February 2008, Arno Lehmann wrote: > It *might* be possible using a python event Interesting idea; regarding the unknown future of the python support, I'd rather not invest too much time there, though. > > On the other hand, as I said: the problem can be circumvented with a > > little more complex configurations. > > Which is the way to go, currently. ACK. Thx a lot for your responses! Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ Help beautify our dumps. Throw away something pretty. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] Redundant Run in Schedule
Hi, On Wednesday 20 February 2008, Bastian Friedrich wrote: > when configuring multiple "Run"s in a schedule that occur at the same time, > they are run sequentially: > Run = Full Pool = PoolSpecial w01 mon at 8:00 > Run = Full Pool = Pool mon at 8:00 > results in two executions of the job that refers to the schedule. > [...] > I'd have a need for exclusiveness in this case: run the job only in case it > is not referenced before. Would you also regard this as a sensible > modification? despite the fact that we found workarounds during our discussion (on bacula-users), I wrote a small patch: With the attached patch, Schedule statements can include an optional "QueueOnce" flag (i.e. QueueOnce=true, with QueueOnce=false being default). If this flag is set, a job will only be queued once per minute. With this enabled, one can e.g. schedule a job "first of month" as well as "mondays"; the job will only be queued once if a monday is a first of a month as well, and both events were queued for the same minute. This modifies the current behavior, where jobs were queued twice. Because of Bacula's internal logic, the _last_ "Run" statement in a schedule wins; we can understand this as "overwriting" statements. What do you think about this idea/code? Oh, btw: the attached patch is against SVN trunk. Thx, Best regards, Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ Machine-independent: does not run on any existing machine. Index: src/dird/scheduler.c === --- src/dird/scheduler.c (revision 6461) +++ src/dird/scheduler.c (working copy) @@ -67,7 +67,7 @@ /* Forward referenced subroutines */ static void find_runs(); -static void add_job(JOB *job, RUN *run, time_t now, time_t runtime); +static void add_job(JOB *job, RUN *run, SCHED *sched, time_t now, time_t runtime); static void dump_job(job_item *ji, const char *msg); /* Imported subroutines */ @@ -364,11 +364,11 @@ tm.tm_sec = 0; /* zero secs */ runtime = mktime(&tm); if (run_now) { - add_job(job, run, now, runtime); + add_job(job, run, sched, now, runtime); } /* If job is to be run in the next hour schedule it */ if (run_nh) { - add_job(job, run, now, runtime + 3600); + add_job(job, run, sched, now, runtime + 3600); } } } @@ -377,7 +377,7 @@ Dmsg0(dbglvl, "Leave find_runs()\n"); } -static void add_job(JOB *job, RUN *run, time_t now, time_t runtime) +static void add_job(JOB *job, RUN *run, SCHED *sched, time_t now, time_t runtime) { job_item *ji; bool inserted = false; @@ -397,6 +397,32 @@ #endif return; } + +/* + * If schedule permits only one execution per minute ("QueueOnce" set), + * search for existing queue entries within one minute. Drop if found. + */ +if (sched->queueonce) { + foreach_dlist(ji, jobs_to_run) { + if (!strcmp(ji->job->hdr.name, job->hdr.name) && +(abs(ji->runtime - runtime) < 60)) { + + char dt[50], dt1[50], dt2[50]; + bstrftime_nc(dt, sizeof(dt), ji->runtime); + bstrftime_nc(dt1, sizeof(dt1), runtime); + Dmsg5(dbglvl, "Duplicate queue entry for job %s, QueueOnce enabled. " + "Queued runtime=%s(%x), dropped runtime = %s(%x).\n", + job->hdr.name, + dt, + ji->runtime, + dt1, + runtime); + fflush(stdout); + return; + } + } +} + #ifdef SCHED_DEBUG Dmsg4(000, "Add: Job=\"%s\" run=%x last_run=%x now=%x\n", job->hdr.name, runtime, run->last_run, now); Index: src/dird/dird_conf.c === --- src/dird/dird_conf.c (revision 6454) +++ src/dird/dird_conf.c (working copy) @@ -347,6 +347,7 @@ {"name", store_name, ITEM(res_sch.hdr.name), 0, ITEM_REQUIRED, 0}, {"description", store_str, ITEM(res_sch.hdr.desc), 0, 0, 0}, {"run", store_run, ITEM(res_sch.run), 0, 0, 0}, + {"queueonce", store_bool, ITEM(res_sch.queueonce), 0, ITEM_DEFAULT, false}, {NULL, NULL, {0}, 0, 0, 0} }; Index: src/dird/dird_conf.h === --- src/dird/dird_conf.h (revision 6454) +++ src/dird/dird_conf.h (working copy) @@ -492,6 +492,8 @@ RES hdr; RUN *run; + + bool queueonce; }; /* - This SF.net email is spons
Re: [Bacula-users] Redundant Run in Schedule
Hi, I'll keep my answer on this subject short, as you are obviously currently working on the topic in a larger scope; I'll add some comments on your new thread on bacula-devel. On Friday 22 February 2008, Kern Sibbald wrote: > On Friday 22 February 2008 15.44:56 Bastian Friedrich wrote: > > > > On Wednesday 20 February 2008, Bastian Friedrich wrote: > > > when configuring multiple "Run"s in a schedule that occur at the same > > > time, they are run sequentially: > > > Run = Full Pool = PoolSpecial w01 mon at 8:00 > > > Run = Full Pool = Pool mon at 8:00 > > > results in two executions of the job that refers to the schedule. > > > > [...] > > > > > I'd have a need for exclusiveness in this case: run the job only in > > > case it is not referenced before. Would you also regard this as a > > > sensible modification? > > [...] > > > > What do you think about this idea/code? > > Well, I like the idea (the feature), but I'm a little concerned about the > solution you propose from several stand points: > > 1. I found it hard to understand what you wanted to do until I read the > code, so I am concerned that this concept could be hard to document > correctly. Full ACK. During implementation, I came up with at least three different names for the topic. Finding a good term to express the restriction of duplicate job queuing is not simple... Your argument is exactly the reason why I did not supply a documentation patch in the first place. If I rewrote these few lines, I'd rather name the flag "PreventDuplicateQueuing". > 2. The current list of Run directives are essentially ANDed. That is > Bacula will walk down the list and schedule all that apply. Minor problem here: In fact, Bacula "walks up" the list, in a way, at least compared to the sequence of statements in the config file; in other words: the list is read "bottom up". Should we consider reversing the logics in store_run(), i.e. append new Run statements to the end of the list instead of prepending them? I'd prefer a semantics of "else", rather than "overwriting" existing Runs. > I think what > you really are trying to do is to setup two Run directives to be ORed, and > perhaps that could be handled by a slightly different syntax such as: > > Or { > Run = Level=Full Pool = PoolSpecial w01 mon at 8:00 > Run = Level=Full Pool = Pool mon at 8:00 > } > or perhaps some other keyword such as OneOf ... wouldn't that be much > clearer? > There would be a bit more work to implement this (not really hard) but > it seems to me it would be much clearer to the user. The "Or" (or OneOf, or whatever) ressource would then be living inside a Schedule statement? Interesting idea; it would then be possible to do something like Schedule { Name = foo Or { Run = ... Run = ... } Or { Run = ... Run = ... } } On the other hand, I frankly do not have any requirement for this added complexity, and one new keyword/flag would be sufficient for me. > 3. It is interesting that this comes just at this moment, because just > tonight I was starting to work on the new "Duplicate Jobs" directive group > for Jobs. That is a fairly comprehensive set of directives that tell Bacula > how to deal with duplicate jobs. So your "Duplicate Jobs" directive is meant to deal with duplicate executions of jobs, rather than with duplicate queuings, i.e. would rather not prevent the jobs to be queued in the first place? In that case, it might in fact be sensible to have both solutions. Best Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ EXPO, f (lat). Vom mittelalterlichen "ex po" ("ex" == aus, heraus; \ "po" ist ein veraltetes Wort für "Arsch", zusammengefaßt also: \ "aus dem Arsch", was soviel bedeutet wie "einfach Scheiße"). - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] [Bacula-devel] Improving job scheduling flexibility
Hi, On Saturday 23 February 2008, Kern Sibbald wrote: > My current idea is to create a new "DuplicateJobs" resource and a new > Duplicate Jobs directive which would point to the duplicate jobs resource. > The reason for the resource is that there are just too many different > variations that it would require a lot of new directives, and it seems a > shame to add them to every Job. While your point about redundant setups for different jobs is certainly valid, I also like Marc's opinion that directives in JobDefs ressources probably would be sufficient. Configuration of existing ressources is more simple than understanding the meaning of a new ressource. Adding a new ressource would not help the ease of use, esp. for beginners. > DuplicateJobs { > Name = "xxx" > > Allow = yes|no (no = default) While I personally in fact don't need duplicate jobs: Wouldn't your proposal modify the default behavior of the system, raising some problems for some people? > Job Proximity = (0) Great idea. Thx for your efforts, Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ DOWN WITH EXCLAMATION POINTS!!! - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] [Bacula-devel] Redundant Run in Schedule
On Monday 25 February 2008, Kern Sibbald wrote: > > > 2. The current list of Run directives are essentially ANDed. That is > > > Bacula will walk down the list and schedule all that apply. > > > > Minor problem here: In fact, Bacula "walks up" the list, in a way, at > > least compared to the sequence of statements in the config file; in other > > words: the list is read "bottom up". > > Ah, that is quite typical of my implementations (add to head of single > linked list) when it "doesn't matter" Your version is much cleaner and simpler, as long as sequence does not matter. > > Should we consider reversing the logics in store_run(), i.e. append new > > Run statements to the end of the list instead of prepending them? > > Yes, that is rather trivial to do -- no problem. Patch (SVN) appended. > Please give us an exact example of the Schedule directives with jobs you > want ANDed and ones that you want ORed. I can, of course, only speak for myself; other people's needs obviously differ. I never need ANDed schedules, as I don't (yet?) see requirements for jobs to be executed twice. If there /is/ reason to execute the jobs twice - well, run them with one minute difference, and they will be queued happily. Sample scenarios I encounter: Towers of hanoi with weekly full backups Schedule { Name = Hanoi3 Run = Level=Full Pool=PoolC w00 w04 w08 [...] mon at 08:00 Run = Level=Full Pool=PoolB w00 w02 w04 w06 w08 [...] mon at 08:00 Run = Level=Full Pool=PoolA mon at 08:00 } Run backups to tapeset C in every 4th week (w04 w08 ...); tapeset B in every second week (w00 w02 w04 w06 w08 ...); tapeset A in all other weeks. Bacula should eliminate the runs to pool B in every fourth week by itself, despite the fact that the second run is configured for w00 w02 w04 w06 w08 (...), and eliminate runs of A in all even weeks. This scenario could be precalculated, but it was easier to solve it in Bacula's scheduling mechanisms. Monthly and weekly backups -- Schedule { Name = Foo1 Run = Level=Full Pool=MonthlyPool monthly 1 at 08:00 Run = Level=Incremental Pool=Incrementals mon at 08:00 } Run full backups to MonthlyPool on the 1. day of each month; run incrementals on mondays. Bacula should be able to eliminate the incremental job in case the first day of each month is a monday. This scenario cannot be precalculated (at least for a duration of more than one year). > Then I will have a better idea of > what you are proposing. I am all for something simpler as long as the > sytnax and semantics are clear. My current plans/ideas certainly differ from what other people want/require... :-/ As I said, my personal needs are restricted to ORed statements; adding an AND semantics could - for me - be accomplished by adding a second, almost identical Job statement, with an alternative schedule. Having the flexibility of both versions in one type of statement (just with the syntax you proposed) would of course be best for most people. > > > 3. It is interesting that this comes just at this moment, because just > > > tonight I was starting to work on the new "Duplicate Jobs" directive > > > group for Jobs. That is a fairly comprehensive set of directives that > > > tell Bacula how to deal with duplicate jobs. > > > > So your "Duplicate Jobs" directive is meant to deal with duplicate > > executions of jobs, rather than with duplicate queuings, i.e. would > > rather not prevent the jobs to be queued in the first place? > > In Bacula language, we usually speak of "scheduling" rather than queuing. ACK. (The reason why I used a different term is that I understood that scheduling refers to the "global" scheduling, i.e. the layout of all runs, whereas queuing refers to the process of adding the execution of a certain run of a schedule to the list of jobs to be executed. Of course, it's all a matter of definition. I'll drop mine :) > So, I think we should continue discussing possible modifications to the > Schedule resource ... Good :) Thx Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ God is real, unless declared integer. Index: src/dird/run_conf.c === --- src/dird/run_conf.c (revision 6485) +++ src/dird/run_conf.c (working copy) @@ -627,12 +627,19 @@ * in the schedule resource. */ if (pass == 2) { + RUN *tail = *run; + trun = (RUN *)malloc(sizeof(RUN)); memcpy(trun, &lrun, sizeof(RUN)); - if (*run) { - trun->next = *run; + trun->next = NULL; + + if (tail) { + while (tail->next) tail = tail->next; + tail->next = trun; + } else { + tail = trun; + *run = trun; } - *run =
Re: [Bacula-users] Enable/disable spooling when starting jobs with "run" ?
Hi, On Sunday 02 November 2008, Wolfgang Denk wrote: > usually I like to disable spooling for full dumps, but enable it for > differential and incremental ones. > > This works fine by selecting one default setting (say: spooling > enabled) in the global configuration and overwriting it for the jobs > that need the opposite setting (in my example: disable it) in the > "Run" statements in the schedule. > > However, how can I do the same when running a job manually using the > "run" command on the console? > > It seems there is no option to enable or disable spooling then? I have had the same problem recently, so starting with SVN revision 7982 (i.e. a snapshot from last Wednesday), there is a "spooldata=yes|no" flag on the run command line. You will need a SVN version then, though :( Best Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-28 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ Of all forms of caution, caution in love is the most fatal. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
[Bacula-users] Manual Volume recycling and overwritten data
Hi, when manually recycling a (used) volume with "update volume=xxx VolStatus=Recycle" this volume will be accepted for overwriting. Nonetheless, Jobs that have been written to that volume will NOT be removed from the catalog. This results in invalid data, as the catalog will still contain data about volume content that is no longer there. Would you regard that as a bug? Or is it a PEBKAC, as I should not use the update command to recycle volumes? Or ist it "just wait for these jobs to expire via their retention period"? Any recommendations on how to handle these cases? dbcheck is not able to find these jobs, btw; they look absolutely valid in the database, except for the fact that possibly two entries exist that point to the same region on a tape. Thx/best regards Bastian Friedrich -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-28 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ "Womit verhüten Emanzen - mit dem Gesicht." \ Oskar Lafontaine -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] tape error and bacula: ...block numbers differ
Hi, On Wednesday 04 February 2009, Ralf Gross wrote: > > JobId 9250: Error: block.c:568 Write error at 411:14724 on device > "ULTRIUM-TD4-D2" (/dev/ULTRIUM-TD4-D2). ERR=Eingabe-/Ausgabefehler. > JobId 9250: Error: Re-read of last block OK, but block numbers differ. > Last block=32305463 Current block=32307189. > JobId 9250: End of medium on Volume "A00151L4" Bytes=411,923,570,688 > Blocks=6,385,223 at 03-Feb-2009 20:44. > > > And at the same time in the kernel log: > > kernel: sense key: Medium Error > kernel: Additional sense: Write error > kernel: Info fld=0xfc00 > this is just a quick "me too"-message; one of our customers (also using a modern LTO drive, btw) is having the exact same results. In his case, though, the problems occur rather frequently. We are having difficulties debugging the problem sensibly, as the concerned server is in full production (for quite a number of other services). No modification of tape behavior via stinit. Is there any sensible way to request the configuration data from the drive? The ones mentioned in the "How to test the drive" chapter do not seem to work for me; mt stsetoptions does not result in any output in the system log/dmesg. Thx Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-28 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ Make it idiot proof and someone will make a better idiot. -- Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users
Re: [Bacula-users] Feature request: Enable/disable spooling when using "run"
Wolfgang, Am Montag, 9. Februar 2009 00:46:44 schrieb Wolfgang Denk: > > What: I would like to be able to override the spooling settings > of a job when manually starting it using "run". what you are looking for has been implemented in the SVN code in November; it thus is part in the most recent 2.5 beta releases and will be part of the upcoming 3.0 release. See http://bacula.svn.sourceforge.net/viewvc/bacula?view=rev&revision=7982 Best Bastian -- Collax GmbH . Burkheimer Straße 3 . 79111 Freiburg . Germany p: +49 (0) 761-45684-24 f: +49 (0) 761-45684-10www.collax.com Geschäftsführer: William K. Hite / Boris Nalbach AG München HRB 158898 . Ust.-IdNr: DE 814464942 \ I'd love to go out with you, \ but the last time I went out, I never came back. -- Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com ___ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users