]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/help/restore.html
A bug was introduced in with commit 5727. Restoretree and restore were
[bacula/bacula] / bacula / src / qt-console / help / restore.html
index fde18a93a3c5a8b74b74d83dca4c8aa5603103a5..400e807187c5da9d10e624a5bf984beb35d768dc 100644 (file)
 <BODY>
 <h1 align="center">Bat User's Guide</h1>
 <br>
+<font size=+1>
 
-<h4>The Two Restore Interfaces</h4>
-
-<p>Both restore interfaces will select jobs to restore from, give the user the
-opportunity to select files and directories and then run the restore job.
-
-<p>The first or Standard restore is intended as a high performance restore.  It
-is more of a server side interaction to perform the steps.  The Opening interface
-will allow the user to choose selection criterion to determine the job set used.
-The second interface will allow the user to browse the file structure and choose
-the files and directories to restore.  The third will run the job.
-
-<p>The second restore option is the Version Browser.  It is a chatty interface
-which will perform many sql queries of the server.  It is NOT intended to perfrom
-major large sized restores.  It is intended to allow the user to search for 
-specific files and see the different versions of those files that are available
-in the catalog to restore.  Selecting jobs is done with 3 drop downs in the
-lower splitter pane.  The top splitter pane has a vertical splitter with 4
-widgets.  One for viewing and further subselecting of jobs, one for viewing the
-directory tree, one for viewing the list of files in a selected directory and
-one for viewing a list of different versions of the selected files that have
-records in the catalog.  The user can select a directory which will select all
-the files and subdirectories.  The user can unselect a file in a selected 
-directory and also select a file in an unselected directory.  Lastly the user
-can choose to restore a specific version of a file and override the default which
-is to restore the most recent version. 
+<h2>The Two Restore Interfaces</h2>
+
+<p>Both interfaces accomplish the same three steps.
+The steps are to select jobs to restore from, give the user the
+opportunity to select files/directories, then indicate details such as
+the host and path to restore to and trigger the job to run.
+
+<h2>The Standard Restore Interface</h2>
+
+<p>Start the standard restore procedure by pressing the restore button
+in the task bar.  There are also two options in the joblist context sensitive 
+menu to start a restore.  They are Restore From Time or Restore From Job.
+
+<p>This restore method is intended as a high performance option.
+It is a server side process.  These interfaces assist the user in utilizing the
+text based restore capabilities of the standard console.  It interprets the text
+to display the information in a way that simplifies the restore procedure.
+
+<p>The Opening interface allows the user to choose selection criterion to
+inform the server how to determine the set of backup job ids to use in the
+restore.  This best possible set is he most recent full backup, the most
+recent differential backup done since the most recent full, and all the
+incremental backups done since the most recent full or differential.  Then the
+server uses this set of jobs to create a file structure that is the
+most recent version of each file found in this job list.
+
+<p>After the select box OK button has been pressed, a limitation in bat
+occurs that will be resolved in the future.  The restore process takes control
+of the connection to the server and does not allow any other communication to
+the server by any other interface.
+
+<p>The second interface allows the user to browse this file structure and
+choose the files and directories to restore.  This is done in an explorer
+type interface with a directory tree on the left.  In the right pane of a
+splitter is a table showing a list of files and directories that are the
+contents of the directory selected in the left pane.  The user can mark and
+unmark either with the buttons on the top or by double clicking on the check
+mark icon to toggle whether an item is selected or not.  Double clicking an
+item which is a directory on a part of the table which is not the check icon
+opens that directory.  Clicking 'OK' completes the selection process.
+
+<p>The third step is the Restore Run interface.  It's purpose is to allow the
+user to inform the bacula server details of the host and path to restore to, the
+replacement rules, when to restore and what priority to give the restore job.
+
+<h2>The Version Browser Restore Interface</h2>
+
+<p>The Version Browser restore option does not have the same connection
+limitations as the standard restore during the file and directory selection
+process.  The user can have an unlimited number of selection windows open at a
+time for viewing the cataloged jobs, directories, files and versions.
+
+<p>This restore interface is <b>NOT</b> intended to perform major restores of directory
+structures with large numbers of directories and files.  It should work, however
+it is a chatty interface.  This is due to the number of sql queries made of the server
+which is proportional to the number of files and directories selected plus the number of
+exceptions to defaults selected.  It <b>IS</b> intended to allow the user to browse for 
+specific files and choose between the different versions of those files that
+are available in the catalog to restore.
+
+<p>The interface contains a horizontal splitter.  The bottom pane contains
+some controls for the interface.
+The top portion contains a vertical splitter with 4 panes for viewing the 
+cataloged information.  The left pane is for viewing and further sub selecting
+of jobs.  The second pane is for viewing the directory tree.  The third is for
+viewing a list of files in a directory that has been selected.  Then
+lastly the fourth pane is for viewing a table of versions of a single file
+that has been selected from the file table.
+
+<p>The version browser accomplishes the three restore steps differently.
+
+<p>To select jobs and populate the directory tree, press the refresh button.
+The job table contains selected jobs.  The selection criterion of the three
+dropdowns and the two limits are used as the filtering criterion for
+populating the job table the first time the refresh button is pushed.
+After the refresh button has been pushed, the job table has check marks that
+can selects and unselects jobs.  Re-pressing the refresh button does one of two
+things.  What occurs is dependent on if the controls in the bottom pane 
+display the same data as the previous time the refresh button was pressed.  If
+changed the jobs table is repopulated from the selection criterion.  If
+unchanged any jobs that have been unchecked are excluded from the 
+process of selecting directories, files and versions.  The directory tree does get
+repopulated when the refresh button is pushed.  There is a text label underneath the
+refresh button to inform the user as to which occurs when refresh is pressed.
+
+<p>The user can browse the directory tree and click on a directory folder which
+then populates the file table with the files that are contained in the
+selected directory path.  Selecting or unselecting a directory does also select or
+unselect all files and all directories in the tree hierarchy beneath it.  If
+there are any exceptions already selected beneath that directory, those
+exceptions do get deleted.
+
+<p>With the file table populated, the user can unselect a file in a selected 
+directory and also select a file in an unselected directory.
+
+<p>With a file selected the version table populates with all the instances
+a file has been written to tape.  The user can choose a specific version of a
+file for restore and override the default which is to restore the most recent
+version. 
+
+<p>Pressing the restore button initiates a procedure preparing to
+perform the restore of the requested files.  The same Restore Run interface
+that was the third step in the standard restore is then displayed.  It
+allows the user to instruct the bacula server of the details of what host
+and what path to restore the files to.  This part of the restore does take control
+of the connection to the server and does not allow any other communication
+to the server by the other interfaces.
+
+<p>There are two progress bars that appear when refreshing or after pressing
+Restore.  These indicate to the user the time it may take to complete any tasks
+that could take a long time period.
+
+<h2>Version Browser Performance</h2>
+
+<p>If you have used the version browser with a large database, you may have
+noticed that the performance can begin to be quite slow.  A way to improve the
+response time of the database server is to add indexes that will assist a 
+couple of the specific queries that are made.
+
+<p>For postgresql add 2 indexes with the following commands in psql:
+<br>CREATE INDEX file_filenameid_jobid ON file USING btree (filenameid,
+jobid);
+<br>CREATE INDEX file_pathid_idx ON file USING btree (pathid);
+
+<p>For mysql add 2 indexes with the following commands in mysql:
+<br>CREATE INDEX file_filenameid_jobid ON File (FilenameId, JobId);
+<br>CREATE INDEX file_pathid_idx ON File (PathId);
+
+<p>There is one way to make the first of those two indexes perform just a 
+little better.  It is to create a partial index.  First, at least one backup 
+must be in the database that has at least one directory.  Then in psql or mysql
+perform the command:
+<br>SELECT FilenameId FROM Filename WHERE name='';
+<br>Use the results of this command and replace for XXX in the following command:
+<br>CREATE INDEX file_filenameid_jobid2 ON File (JobId) WHERE FilenameId=XXX;
+<br>This index will use less disk space and will perform better.  Don't forget to
+remove the index it replaces, file_filenameid_jobid.
+
+<p>If you have sqlite and would be willing to test out the creation of these
+indexes to see if they work, please let me know the commands.
 
 </BODY>
 </HTML>