>>>>> "mark" == mark bergman <[EMAIL PROTECTED]> writes:
mark> => I've got a plan to sit down and sketch out more consistent and clear mark> => set of commands for manipulating bacula from the command line. Anyone mark> => else like the 'bcli' name? mark> => mark> No! No! This will only exacerbate the problem (if one defines mark> the problem as "multiple tools/methods, with varying mark> documentation and different levels of support for each mark> tool"). My goal is to *replace* bconsole with a better tool, which does all that bconsole does but in a more consistent manner. And which offers cleaner interface to the underlying bacula commands and processes. If you look at the source code to bconsole, the parser is very very simplistic and doesn't have any notion of command completion, or even the ability to give help at each level. This should be replaced. As should the various .<cmd> versions of commands as well, which are there to be used by external commands. Also, as a pet peeve, why do we need a 'python' command inside bconsole? Does anyone use it? And what are the differences between: list show status Why do we have N different commands (cancel, disable, enable, run, show, wait?) for handling jobs? It's a pain to figure out/remember which one to use. I think it should be broken down more like: job <cancel|disable|enable|run|status|*> <jobid|jobname> instead. It shrinks down the help screen, it makes it obvious that all job related commands are grouped together, etc. We can also have a standard set of [options] which can be used across commands, so that if you need to specify a particular server, you just do: bcli -h foo job run 12344 Nice and simple and consistent. mark> There is a huge investment in bconsole--it's a fundamental mark> interface to bacula, with a great deal of documentation (of mark> varying quality), and many scripts & procedures are built on mark> bconsole. Introducing a competitor will not improve bconsole mark> directly, will not replace bconsole, and will create mark> yet-another-way of doing the same tasks. I don't want a competitor, I want a *replacement*! mark> I'd be hugely in favor of improving bconsole in the following ways: mark> 1. consistency mark> standardize the "API" within bconsole so that every subcommand mark> can take arguments the same way. I agree. mark> 2. documentation mark> improve both the off-line documentation and on-line help I agree. mark> 3. command-line interface mark> Many people (myself included) rely on complex scripts to mark> execute bconsole commands. It's cumbersome and "fragile" to mark> write scripts that blindly respond to prompts and menu mark> structures of an interactive program. The scripts are mark> difficult to debug and maintain as the program they are calling mark> changes over time. I agree. mark> For example, I've got a script that includes: mark> /bin/echo -e "update slots\n\nquit\n" | bconsole -c ./bconsole.conf mark> note the "\n\n" sequence. This is vital, as the second carriage mark> return is a response to an prompt issued within bconsole. I feel that the example you show here is perfect for showing what's wrong with bconsole. It should be something much more easily scriptable, something like this: bcli -c bcli.conf jukebox inventory And I will be willing to change the 'jukebox' to something else, and even the 'inventory' back to update. But let's get a more consistent grammar here please! mark> Once the internal bconsole commands are standardized, I think mark> it would be a tremendous help to allow them to be called mark> directly from the command line, rather than introducing mark> another program. For example, the previous "update slots" mark> command would be written as: mark> bacula -c ./bconsole.conf update slots I agree. But why should you need a -c bconsole.conf? What does that buy us? Shouldn't we set it up so that when you connect to a bacula server, the client pulls down the config info it needs? But again, this should be all standardized. I'd also like to see how reporting can be improved as well using the command line tools. More on this as I get a chance to sketch out my ideas and present them to people. And initially it WILL be in a totally new program, which will just call the bconsole tool from inside itself, just to show what I think we need to do. Ok? John ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users