|
From: <di...@us...> - 2007-03-13 20:25:17
|
Revision: 471
http://safekeep.svn.sourceforge.net/safekeep/?rev=471&view=rev
Author: dimi
Date: 2007-03-13 13:25:11 -0700 (Tue, 13 Mar 2007)
Log Message:
-----------
Update the docs for version 0.9.2
Modified Paths:
--------------
website/trunk/WebContent/documentation.shtml
website/trunk/WebContent/safekeep.conf.html
website/trunk/WebContent/safekeep.html
Added Paths:
-----------
website/trunk/WebContent/safekeep.backup.html
Modified: website/trunk/WebContent/documentation.shtml
===================================================================
--- website/trunk/WebContent/documentation.shtml 2007-03-13 18:53:23 UTC (rev 470)
+++ website/trunk/WebContent/documentation.shtml 2007-03-13 20:25:11 UTC (rev 471)
@@ -16,6 +16,7 @@
</p>
<ul>
<li><a href="safekeep.html">safekeep(1) man page</a></li>
+ <li><a href="safekeep.backup.html">safekeep.backup(5) man page</a></li>
<li><a href="safekeep.conf.html">safekeep.conf(5) man page</a></li>
</ul>
@@ -53,7 +54,7 @@
Next, we need to create a file for each of the boxes we need to backup:
</p>
<pre>
-[root@forrest ~] cat /etc/safekeep.d/oak.conf
+[root@forrest ~] cat /etc/safekeep/backup.d/oak.backup
<backup>
<host name="oak" />
<setup>
@@ -66,7 +67,7 @@
</data>
</backup>
-[root@forrest ~] cat /etc/safekeep.d/pine.conf
+[root@forrest ~] cat /etc/safekeep/backup.d/pine.backup
<backup>
<host name="pine" />
<setup>
@@ -84,7 +85,7 @@
Now all we have to do is tell SafeKeep to deploy the SSH keys:
</p>
<pre>
-[root@forrest ~] sudo -H -u safekeep safekeep --keys --deploy
+[root@forrest ~] safekeep --keys --deploy
</pre>
<p>
Added: website/trunk/WebContent/safekeep.backup.html
===================================================================
--- website/trunk/WebContent/safekeep.backup.html (rev 0)
+++ website/trunk/WebContent/safekeep.backup.html 2007-03-13 20:25:11 UTC (rev 471)
@@ -0,0 +1,636 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 7.0.2" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a { color: blue; }
+a:visited { color: fuchsia; }
+
+em {
+ font-style: italic;
+}
+
+strong {
+ font-weight: bold;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ border-bottom: 2px solid silver;
+ padding-top: 0.5em;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock > div.content {
+ padding-left: 2.0em;
+}
+div.quoteblock .attribution {
+ text-align: right;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.verseblock div.content {
+ white-space: pre;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: italic;
+}
+dd > *:first-child {
+ margin-top: 0;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.olist2 {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border-color: #527bbd;
+ border-width: 3px;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: italic;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+include::./stylesheets/xhtml11-manpage.css[]
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-content {
+ padding-left: 2.0em;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+</style>
+<title>safekeep.backup(5)</title>
+</head>
+<body>
+<div id="header">
+<h1>
+safekeep.backup(5) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>safekeep.backup -
+ Configuration file for a 'safekeep(1)' client
+</p>
+</div>
+</div>
+<h2>SYNOPSIS</h2>
+<div class="sectionbody">
+<p>These files are usually placed in <tt>/etc/safekeep/backup.d/</tt> to be picked
+up automatically by <em>safekeep(1)</em>. They must have a <tt>.backup</tt> extension.</p>
+</div>
+<h2>DESCRIPTION</h2>
+<div class="sectionbody">
+<p>Each configuration file controls the backup of a host. They are typically
+named after the hostname of the machine they control the backup for, and
+have a <em>.backup</em> extension (e.g. <tt>mailbox.backup</tt>). These files are written
+in XML. Virtually all elements and attributes are optional; if not present,
+<tt>safekeep(1)</tt> will provide reasonable, useful defaults.</p>
+<p>The full set of supported elements and attributes looks as follows:</p>
+<div class="listingblock">
+<div class="content">
+<pre><tt><backup id="my_workstation">
+
+ <!-- the client backup host, the user under which the servers will connect,
+ the SSH keys used for control and data transfer -->
+ <host
+ name="myhost" user="root"
+ key-ctrl="/home/jdoe/.ssh/backup_id_dsa"
+ key-data="/home/jdoe/.ssh/backup2_id_dsa"
+ />
+
+ <!-- location where the backups will be stored on the server
+ and for how long (D=days, W=weeks, M=months, or Y=years) -->
+ <repo path="./data" retention="10D"/>
+
+ <!-- settings for database dump and for volume snapshot -->
+ <setup>
+ <!-- database type ("postgres" or "mysql"), user with backup rights,
+ location of the dump file on the client host, and flag to remove
+ or not the dump file after the backup is done -->
+ <dump
+ type="postgres"
+ db="dbname"
+ user="foobar"
+ file="/var/backup/dumps/mydata"
+ cleanup="true"
+ />
+
+ <!-- what volume is to be snapshot (device location) and the size
+ of the snapshot (free space must exist in the volume group) -->
+ <snapshot
+ device="/path/to/volume"
+ size="500M"
+ />
+
+ </setup>
+
+ <!-- data to be backup -->
+ <data>
+ <!-- each type of tag can be present more than one time -->
+ <!-- if a database dump was created, it must be added in this section -->
+ <include path="/home"/>
+ <exclude path="/home/guest"/>
+
+ <include glob="**/important/"/>
+ <exclude glob="/home/*/tmp"/>
+
+ <include regexp=".*\.ogg"/>
+ <exclude regexp=".*\.mp3"/>
+ </data>
+</backup></tt></pre>
+</div></div>
+</div>
+<h2>PARAMETERS</h2>
+<div class="sectionbody">
+<p>XML elements and attributes are referred to via XPath expressions: elements
+are separated by <em>/</em>, attributes are introduced by <em>@</em>:</p>
+<dl>
+<dt>
+/backup
+</dt>
+<dd>
+<p>
+ The root element of the XML file.
+ Mandatory.
+</p>
+</dd>
+<dt>
+/backup/@id
+</dt>
+<dd>
+<p>
+ This is the ID by which <tt>safekeep(1)</tt> will address this host.
+ If specified it overrides the default value derived from the
+ filename. Use of the default value is recommended.
+ Optional, defaults to the filename without the <tt>.conf</tt> extension.
+</p>
+</dd>
+<dt>
+/backup/host/@name
+</dt>
+<dd>
+<p>
+ The name or IP address of the client. If you need to backup the
+ box that the server is running from, you can set this to "localhost".
+ This is different from leaving it blank, as it will establish a
+ SSH session and use the user specified by <tt>/backup/host/@user</tt>.
+ Optional, defaults to local access.
+</p>
+</dd>
+<dt>
+/backup/host/@user
+</dt>
+<dd>
+<p>
+ The user name to use when connecting to the client. This user
+ must have read permissions for the files that will be backed up,
+ so it most likely needs to be <em>root</em>.
+ Optional, defaults to <em>root</em>.
+</p>
+</dd>
+<dt>
+/backup/host/@key-ctrl
+</dt>
+<dd>
+<p>
+ This is the private key used to establish the SSH connection
+ to the client for the control channel. Use of the default value
+ is recommended.
+ Optional, defaults to <tt>~/.ssh/safekeep-server-ctrl-key</tt>.
+</p>
+</dd>
+<dt>
+/backup/host/@key-data
+</dt>
+<dd>
+<p>
+ This is the private key used to establish the SSH connection
+ to the client for the data channel. Use of the default value
+ is recommended.
+ Optional, defaults to <tt>~/.ssh/safekeep-server-data-key</tt>.
+</p>
+</dd>
+<dt>
+/backup/repo/@path
+</dt>
+<dd>
+<p>
+ The path under which the backups will be stored. Relative
+ paths are based on the <em>base.dir</em> setting from the <em>safekeep.conf(5)</em>.
+ Since the default value for <em>base.dir</em> is the user's home directory,
+ in a typical installation the data will be stored under
+ <tt>/var/lib/safekeep/<id>/</tt>. If the directory does not exist,
+ <tt>safekeep(1)</tt> will attempt to create it automatically. The backup
+ will fail altogether if the directory can not be created.
+ Optional, defaults to the client ID, see <tt>/backup/@id</tt>.
+</p>
+</dd>
+<dt>
+/backup/repo/@retention
+</dt>
+<dd>
+<p>
+ Specifies the duration for which the backup data will be retained.
+ The incremental backup information in the destination directory that
+ has been around longer than the retention time will be removed.
+ The value specified by this attribute is an time interval: an integer
+ followed by the character s, m, h, D, W, M, or Y, indicating seconds,
+ minutes, hours, days, weeks, months, or years respectively, or a
+ number of these concatenated. For example, 32m means 32 minutes, and
+ 3W2D10h7s means 3 weeks, 2 days, 10 hours, and 7 seconds. In this
+ context, a month means 30 days, a year is 365 days, and a day is
+ always 86400 seconds.
+ Note that backups of deleted files are covered by this operation.
+ Thus if you deleted a file two weeks ago, backed up immediately
+ afterward, and then ran <tt>safekeep(1)</tt> with a retention of <em>10D</em>
+ today, no trace of that file would remain. Finally, file selection
+ options don't affect removal of incremental data.
+ Optional, defaults to empty (unlimited retention).
+</p>
+</dd>
+<dt>
+/backup/setup/dump/@type
+</dt>
+<dd>
+<p>
+ One of "postgres" or "mysql".
+ Mandatory for a <tt><dump></tt> element.
+</p>
+</dd>
+<dt>
+/backup/setup/dump/@db
+</dt>
+<dd>
+<p>
+ Name of the database to dump. If not specified, it defaults
+ to all databases maintained in the RDBMS specified by <tt>type</tt>.
+ Optional, defaults to all databases.
+</p>
+</dd>
+<dt>
+/backup/setup/dump/@dbuser
+</dt>
+<dd>
+<p>
+ Name of the database user to use while doing the dump.
+ Optional, defaults to whatever the database determines
+ based on the system user.
+</p>
+</dd>
+<dt>
+/backup/setup/dump/@user
+</dt>
+<dd>
+<p>
+ The system user under which the dump should take place.
+ Please note that using this feature requires that <tt>safekeep(1)</tt>
+ runs as <tt>root</tt> on the client.
+ Optional, defaults to the user under which <tt>safekeep(1)</tt> runs
+ on the client side.
+</p>
+</dd>
+<dt>
+/backup/setup/dump/@file
+</dt>
+<dd>
+<p>
+ The full path to the dump file on the client host.
+ Mandatory for a <tt><dump></tt> element.
+</p>
+</dd>
+<dt>
+/backup/setup/dump/@cleanup
+</dt>
+<dd>
+<p>
+ One of "true" or "false". If "true", the dump file will
+ be deleted from the client system once the backup is over.
+ It is usually futile to delete it, since it will be created
+ for each backup, and hence you will need to have the space
+ available.
+ Optional, defaults to "false".
+</p>
+</dd>
+<dt>
+/backup/setup/snapshot/@device
+</dt>
+<dd>
+<p>
+ The path (device location) to the LVM volume to snapshot
+ before the backup commences. It is recommended
+ Please note that using this feature requires that <tt>safekeep(1)</tt>
+ runs as <tt>root</tt> on the client.
+ Mandatory for a <tt><snapshot></tt> element.
+</p>
+</dd>
+<dt>
+/backup/setup/snapshot/@size
+</dt>
+<dd>
+<p>
+ The size of the snapshot. Unallocated space must exist on
+ the volume group. It is recommended that it is about 15-20%
+ of the original device's size.
+ Mandatory for a <tt><snapshot></tt> element.
+</p>
+</dd>
+<dt>
+/backup/data/exclude/@path
+</dt>
+<dd>
+<p>
+ Exclude the file or files matched by the path.
+ If a directory is matched, then files under that directory will also
+ be matched.
+ See the <tt>FILE SELECTION</tt> section for more information.
+</p>
+</dd>
+<dt>
+/backup/data/include/@path
+</dt>
+<dd>
+<p>
+ Include the file or files matched by the path.
+ If a directory is matched, then files under that directory will also
+ be matched.
+ See the <tt>FILE SELECTION</tt> section for more information.
+</p>
+</dd>
+<dt>
+/backup/data/exclude/@glob
+</dt>
+<dd>
+<p>
+ Exclude the file or files matched by the shell pattern.
+ If a directory is matched, then files under that directory will also
+ be matched.
+ See the <tt>FILE SELECTION</tt> section for more information.
+</p>
+</dd>
+<dt>
+/backup/data/include/@glob
+</dt>
+<dd>
+<p>
+ Include the file or files matched by the shell pattern.
+ If a directory is matched, then files under that directory will also
+ be matched.
+ See the <tt>FILE SELECTION</tt> section for more information.
+</p>
+</dd>
+<dt>
+/backup/data/exclude/@regexp
+</dt>
+<dd>
+<p>
+ Exclude the file or files matched by the regular expression.
+ If a directory is matched, then files under that directory will also
+ be matched.
+ See the <tt>FILE SELECTION</tt> section for more information.
+</p>
+</dd>
+<dt>
+/backup/data/include/@regexp
+</dt>
+<dd>
+<p>
+ Include the file or files matched by the regular expression.
+ If a directory is matched, then files under that directory will also
+ be matched.
+ See the <tt>FILE SELECTION</tt> section for more information.
+</p>
+</dd>
+</dl>
+</div>
+<h2>FILE SELECTION</h2>
+<div class="sectionbody">
+<p><tt>safekeep(1)</tt> supports file selection options similar to <tt>rdiff-backup(1)</tt>.
+When rdiff-backup is run, it searches through the given source directory
+and backs up all the files specified by the file selection system.</p>
+<p>The file selection system comprises a number of file selection conditions,
+which are set using one of the <tt><include></tt>/<tt><exclude></tt> elements.
+Each file selection condition either matches or doesn't match a given file.
+A given file is included or excluded by the file selection system when the
+first matching file selection condition specifies that the file be included
+or excluded respecively; if the file matches no include or exclude
+statement, it is by default excluded.</p>
+<p>When backing up, if a file is excluded, <tt>safekeep(1)</tt> acts
+as if that file does not exist in the source directory.</p>
+<p>For more information on file selection semantics, please see
+<tt>rdiff-backup(1)</tt>.</p>
+</div>
+<h2>FILES</h2>
+<div class="sectionbody">
+<div class="literalblock">
+<div class="content">
+<pre><tt>/etc/safekeep/backup.d/</tt></pre>
+</div></div>
+</div>
+<h2>SEE ALSO</h2>
+<div class="sectionbody">
+<p>safekeep(1), rdiff-backup(1), lvcreate(8)</p>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 13-Mar-2007 16:21:29 EDT
+</div>
+</div>
+</body>
+</html>
Modified: website/trunk/WebContent/safekeep.conf.html
===================================================================
--- website/trunk/WebContent/safekeep.conf.html 2007-03-13 18:53:23 UTC (rev 470)
+++ website/trunk/WebContent/safekeep.conf.html 2007-03-13 20:25:11 UTC (rev 471)
@@ -272,365 +272,80 @@
</div>
<h2>SYNOPSIS</h2>
<div class="sectionbody">
-<p>These files are usually placed in <tt>/etc/safekeep.d/</tt> to be picked
-up automatically be <em>safekeep(1)</em>. They must have a <tt>.conf</tt> extension.</p>
+<p>This file resides in <tt>/etc/safekeep/</tt> from where it
+will be automatically picked up by <em>safekeep(1)</em>.</p>
</div>
<h2>DESCRIPTION</h2>
<div class="sectionbody">
-<p>Each configuration file controls the backup of a host. They are typically
-named after the hostname of the machine they control the backup for, and
-have a <em>.conf</em> extension (e.g. <tt>mailbox.conf</tt>). These files are written
-in XML. Virtually all elements and attributes are optional; if not present,
-<tt>safekeep(1)</tt> will provide reasonable, useful defaults.</p>
-<p>The full set of supported elements and attributes looks as follows:</p>
-<div class="listingblock">
-<div class="content">
-<pre><tt><backup id="my_workstation">
-
- <!-- the client backup host, the user under which the servers will connect,
- the SSH keys used for control and data transfer -->
- <host
- name="myhost" user="root"
- key-ctrl="/home/jdoe/.ssh/backup_id_dsa"
- key-data="/home/jdoe/.ssh/backup2_id_dsa"
- />
-
- <!-- location where the backups will be stored on the server
- and for how long (D=days, W=weeks, M=months, or Y=years) -->
- <repo path="./data" retention="10D"/>
-
- <!-- settings for database dump and for volume snapshot -->
- <setup>
- <!-- database type ("postgres" or "mysql"), user with backup rights,
- location of the dump file on the client host, and flag to remove
- or not the dump file after the backup is done -->
- <dump
- type="postgres"
- db="dbname"
- user="foobar"
- file="/var/backup/dumps/mydata"
- cleanup="true"
- />
-
- <!-- what volume is to be snapshot (device location) and the size
- of the snapshot (free space must exist in the volume group) -->
- <snapshot
- device="/path/to/volume"
- size="500M"
- />
-
- </setup>
-
- <!-- data to be backup -->
- <data>
- <!-- each type of tag can be present more than one time -->
- <!-- if a database dump was created, it must be added in this section -->
- <include path="/home"/>
- <exclude path="/home/guest"/>
-
- <include glob="**/important/"/>
- <exclude glob="/home/*/tmp"/>
-
- <include regexp=".*\.ogg"/>
- <exclude regexp=".*\.mp3"/>
- </data>
-</backup></tt></pre>
-</div></div>
+<p>This configuration file holds safekeep global settings.
+The format of the file is a simple key-value pair similar
+to Java properties files: lines starting with <em>#</em> are ignored
+as comments, keys are separated from values by <em>=</em>, and
+leading and trailing spaces are ignored.</p>
</div>
<h2>PARAMETERS</h2>
<div class="sectionbody">
-<p>XML elements and attributes are referred to via XPath expressions: elements
-are separated by <em>/</em>, attributes are introduced by <em>@</em>:</p>
<dl>
<dt>
-/backup
+backup.user
</dt>
<dd>
<p>
- The root element of the XML file.
- Mandatory.
+ The Unix user under which the server will run.
+ If not specified, <tt>safekeep</tt> will just run under the
+ current user.
</p>
</dd>
<dt>
-/backup/@id
+base.dir
</dt>
<dd>
<p>
- This is the ID by which <tt>safekeep(1)</tt> will address this host.
- If specified it overrides the default value derived from the
- filename. Use of the default value is recommended.
- Optional, defaults to the filename without the <tt>.conf</tt> extension.
+ The base directory for date repository relative paths.
+ If not specified, it defaults to the home directory
+ of the backup user.
</p>
</dd>
<dt>
-/backup/host/@name
+email.to
</dt>
<dd>
<p>
- The name or IP address of the client. If you need to backup the
- box that the server is running from, you can set this to "localhost".
- This is different from leaving it blank, as it will establish a
- SSH session and use the user specified by <tt>/backup/host/@user</tt>.
- Optional, defaults to local access.
+ In addition to writing the session logs
+ on the standard output, <tt>safekeep</tt> can also send the
+ logs via email to a number of recipients.
+ This comma-separated list of emails designates
+ the recipients of the logs. If not specified,
+ <tt>safekeep</tt> will not attempt to email the logs.
</p>
</dd>
<dt>
-/backup/host/@user
+email.smtp.server
</dt>
<dd>
<p>
- The user name to use when connecting to the client. This user
- must have read permissions for the files that will be backed up,
- so it most likely needs to be <em>root</em>.
- Optional, defaults to <em>root</em>.
+ Specifies the SMTP server used for sending mails
+ if the <tt>email.to</tt> specifies any recipients.
+ If not specified, <tt>safekeep</tt> will just use
+ <tt>/usr/sbin/sendmail</tt> to deliver the mail.
</p>
</dd>
-<dt>
-/backup/host/@key-ctrl
-</dt>
-<dd>
-<p>
- This is the private key used to establish the SSH connection
- to the client for the control channel. Use of the default value
- is recommended.
- Optional, defaults to <tt>~/.ssh/safekeep-server-ctrl-key</tt>.
-</p>
-</dd>
-<dt>
-/backup/host/@key-data
-</dt>
-<dd>
-<p>
- This is the private key used to establish the SSH connection
- to the client for the data channel. Use of the default value
- is recommended.
- Optional, defaults to <tt>~/.ssh/safekeep-server-data-key</tt>.
-</p>
-</dd>
-<dt>
-/backup/repo/@path
-</dt>
-<dd>
-<p>
- The path under which the backups will be stored. Relative
- paths are based on current working directory where <tt>safekeep(1)</tt>
- server is run. Typically this working directory will be the home
- directory of the user under which <tt>safekeep(1)</tt> runs on the server.
- As a result, in a typical installation the data will be stored
- under <tt>/var/lib/safekeep/<id>/</tt>. If the directory does not exist,
- <tt>safekeep(1)</tt> will attempt to create it automatically. The backup
- will fail altogether if the directory can not be created.
- Optional, defaults to the client ID, see <tt>/backup/@id</tt>.
-</p>
-</dd>
-<dt>
-/backup/repo/@retention
-</dt>
-<dd>
-<p>
- Specifies the duration for which the backup data will be retained.
- The incremental backup information in the destination directory that
- has been around longer than the retention time will be removed.
- The value specified by this attribute is an time interval: an integer
- followed by the character s, m, h, D, W, M, or Y, indicating seconds,
- minutes, hours, days, weeks, months, or years respectively, or a
- number of these concatenated. For example, 32m means 32 minutes, and
- 3W2D10h7s means 3 weeks, 2 days, 10 hours, and 7 seconds. In this
- context, a month means 30 days, a year is 365 days, and a day is
- always 86400 seconds.
- Note that backups of deleted files are covered by this operation.
- Thus if you deleted a file two weeks ago, backed up immediately
- afterward, and then ran <tt>safekeep(1)</tt> with a retention of <em>10D</em>
- today, no trace of that file would remain. Finally, file selection
- options don't affect removal of incremental data.
- Optional, defaults to empty (unlimited retention).
-</p>
-</dd>
-<dt>
-/backup/setup/dump/@type
-</dt>
-<dd>
-<p>
- One of "postgres" or "mysql".
- Mandatory for a <tt><dump></tt> element.
-</p>
-</dd>
-<dt>
-/backup/setup/dump/@db
-</dt>
-<dd>
-<p>
- Name of the database to dump. If not specified, it defaults
- to all databases maintained in the RDBMS specified by <tt>type</tt>.
- Optional, defaults to all databases.
-</p>
-</dd>
-<dt>
-/backup/setup/dump/@dbuser
-</dt>
-<dd>
-<p>
- Name of the database user to use while doing the dump.
- Optional, defaults to whatever the database determines
- based on the system user.
-</p>
-</dd>
-<dt>
-/backup/setup/dump/@user
-</dt>
-<dd>
-<p>
- The system user under which the dump should take place.
- Please note that using this feature requires that <tt>safekeep(1)</tt>
- runs as <tt>root</tt> on the client.
- Optional, defaults to the user under which <tt>safekeep(1)</tt> runs
- on the client side.
-</p>
-</dd>
-<dt>
-/backup/setup/dump/@file
-</dt>
-<dd>
-<p>
- The full path to the dump file on the client host.
- Mandatory for a <tt><dump></tt> element.
-</p>
-</dd>
-<dt>
-/backup/setup/dump/@cleanup
-</dt>
-<dd>
-<p>
- One of "true" or "false". If "true", the dump file will
- be deleted from the client system once the backup is over.
- It is usually futile to delete it, since it will be created
- for each backup, and hence you will need to have the space
- available.
- Optional, defaults to "false".
-</p>
-</dd>
-<dt>
-/backup/setup/snapshot/@device
-</dt>
-<dd>
-<p>
- The path (device location) to the LVM volume to snapshot
- before the backup commences. It is recommended
- Please note that using this feature requires that <tt>safekeep(1)</tt>
- runs as <tt>root</tt> on the client.
- Mandatory for a <tt><snapshot></tt> element.
-</p>
-</dd>
-<dt>
-/backup/setup/snapshot/@size
-</dt>
-<dd>
-<p>
- The size of the snapshot. Unallocated space must exist on
- the volume group. It is recommended that it is about 15-20%
- of the original device's size.
- Mandatory for a <tt><snapshot></tt> element.
-</p>
-</dd>
-<dt>
-/backup/data/exclude/@path
-</dt>
-<dd>
-<p>
- Exclude the file or files matched by the path.
- If a directory is matched, then files under that directory will also
- be matched.
- See the <tt>FILE SELECTION</tt> section for more information.
-</p>
-</dd>
-<dt>
-/backup/data/include/@path
-</dt>
-<dd>
-<p>
- Include the file or files matched by the path.
- If a directory is matched, then files under that directory will also
- be matched.
- See the <tt>FILE SELECTION</tt> section for more information.
-</p>
-</dd>
-<dt>
-/backup/data/exclude/@glob
-</dt>
-<dd>
-<p>
- Exclude the file or files matched by the shell pattern.
- If a directory is matched, then files under that directory will also
- be matched.
- See the <tt>FILE SELECTION</tt> section for more information.
-</p>
-</dd>
-<dt>
-/backup/data/include/@glob
-</dt>
-<dd>
-<p>
- Include the file or files matched by the shell pattern.
- If a directory is matched, then files under that directory will also
- be matched.
- See the <tt>FILE SELECTION</tt> section for more information.
-</p>
-</dd>
-<dt>
-/backup/data/exclude/@regexp
-</dt>
-<dd>
-<p>
- Exclude the file or files matched by the regular expression.
- If a directory is matched, then files under that directory will also
- be matched.
- See the <tt>FILE SELECTION</tt> section for more information.
-</p>
-</dd>
-<dt>
-/backup/data/include/@regexp
-</dt>
-<dd>
-<p>
- Include the file or files matched by the regular expression.
- If a directory is matched, then files under that directory will also
- be matched.
- See the <tt>FILE SELECTION</tt> section for more information.
-</p>
-</dd>
</dl>
</div>
-<h2>FILE SELECTION</h2>
-<div class="sectionbody">
-<p><tt>safekeep(1)</tt> supports file selection options similar to <tt>rdiff-backup(1)</tt>.
-When rdiff-backup is run, it searches through the given source directory
-and backs up all the files specified by the file selection system.</p>
-<p>The file selection system comprises a number of file selection conditions,
-which are set using one of the <tt><include></tt>/<tt><exclude></tt> elements.
-Each file selection condition either matches or doesn't match a given file.
-A given file is included or excluded by the file selection system when the
-first matching file selection condition specifies that the file be included
-or excluded respecively; if the file matches no include or exclude
-statement, it is by default excluded.</p>
-<p>When backing up, if a file is excluded, <tt>safekeep(1)</tt> acts
-as if that file does not exist in the source directory.</p>
-<p>For more information on file selection semantics, please see
-<tt>rdiff-backup(1)</tt>.</p>
-</div>
<h2>FILES</h2>
<div class="sectionbody">
<div class="literalblock">
<div class="content">
-<pre><tt>/etc/safekeep.d/</tt></pre>
+<pre><tt>/etc/safekeep/safekeep.conf</tt></pre>
</div></div>
</div>
<h2>SEE ALSO</h2>
<div class="sectionbody">
-<p>safekeep(1), rdiff-backup(1), lvcreate(8)</p>
+<p>safekeep(1), safekeep.backup(5), rdiff-backup(1), lvcreate(8)</p>
</div>
<div id="footer">
<div id="footer-text">
-Last updated 06-Feb-2007 11:30:36 EDT
+Last updated 13-Mar-2007 16:21:29 EDT
</div>
</div>
</body>
Modified: website/trunk/WebContent/safekeep.html
===================================================================
--- website/trunk/WebContent/safekeep.html 2007-03-13 18:53:23 UTC (rev 470)
+++ website/trunk/WebContent/safekeep.html 2007-03-13 20:25:11 UTC (rev 471)
@@ -272,8 +272,8 @@
</div>
<h2>SYNOPSIS</h2>
<div class="sectionbody">
-<p><em>safekeep</em> [--server] [-q] [-v] [-c file] [-e <email>] [-s <smtp>] <clientid>*</p>
-<p><em>safekeep</em> --keys [-q] [-v] [-c file] [--status] [--print] [--deploy] <clientid>*</p>
+<p><em>safekeep</em> [--server] [-q] [-v] [-c file] <clientid>*</p>
+<p><em>safekeep</em> --keys [-q] [-v] [-c file] [-i file] [--status] [--print] [--deploy] <clientid>*</p>
<p><em>safekeep</em> --client</p>
<p><em>safekeep</em> -h | -V</p>
</div>
@@ -379,45 +379,32 @@
<div class="sectionbody">
<dl>
<dt>
--c, --conf=FILE|DIR
+-c, --conf=FILE
</dt>
<dd>
<p>
Specifies the configuration file location.
- This can be a single file (for a single client configuration)
- or a directory containing several configuration files (one per
- backup client). Can be specified multiple times.
- If not specified at all, SafeKeep will default in non-client mode
- to searching <tt>/etc/safekeep.d/</tt> for configuration files.
+ If not specified at all, SafeKeep will default to
+ <tt>/etc/safekeep/safekeep.conf</tt> if it exists.
Simply using this default is the recommended usage.
</p>
</dd>
+</dl>
+</div>
+<h2>KEYS OPTIONS</h2>
+<div class="sectionbody">
+<dl>
<dt>
--e, --email=EMAIL
+-i FILE
</dt>
<dd>
<p>
- In addition to writing the session logs
- on the standard output, this parameter let the user specify
- the mail address where the logs are to be send. Can be specified
- more than once to send reports to multiple addresses.
+ Forces <tt>ssh(1)</tt> to use FILE for the identity (private key) in
+ RSA/DSA authentication. If not specified, ssh(1) will use its
+ default indetity files.
</p>
</dd>
<dt>
--s, --smtp=SMTP
-</dt>
-<dd>
-<p>
- Specifies the SMTP server used for sending mails when <tt>-e</tt> is used.
- Defaults to using <tt>/usr/sbin/sendmail</tt>.
-</p>
-</dd>
-</dl>
-</div>
-<h2>KEYS OPTIONS</h2>
-<div class="sectionbody">
-<dl>
-<dt>
--status
</dt>
<dd>
@@ -449,10 +436,10 @@
</div>
<h2>CONFIGURATION</h2>
<div class="sectionbody">
-<p>Normally the configuration files are placed in the <tt>/etc/safekeep.d/</tt> directory
-from where they will get picked up automatically by SafeKeep. Each backup
-client is described by a configuration file in XML format. The minimum
-configuration file is:</p>
+<p>Normally the configuration files are placed in the <tt>/etc/safekeep/backup.d/</tt>
+directory from where they will get picked up automatically by SafeKeep.
+Each backup client is described by a configuration file in XML format.
+The minimum configuration file is:</p>
<div class="listingblock">
<div class="content">
<pre><tt><backup>
@@ -503,14 +490,14 @@
<tt>/root</tt>, <tt>/srv</tt>, <tt>/var</tt>, while excluding some unneeded files and
directories. Older data will be retained for 10 days.</p>
<p>For full reference documentation of the configuration format, see
-safekeep.conf(5).</p>
+safekeep.backup(5).</p>
</div>
<h2>CLIENT IDS</h2>
<div class="sectionbody">
<p>Normally the client IDs are generated automatically from the configuration
filenames without the extension. E.g. if a configuration file is named
<tt>my_workstation.conf</tt>, the client ID becomes <tt>my_workstation</tt>. For more
-information on this topic, see safekeep.conf(5).</p>
+information on this topic, see safekeep.backup(5).</p>
</div>
<h2>KEY DEPLOYMENT</h2>
<div class="sectionbody">
@@ -522,10 +509,10 @@
<tt>safekeep(1)</tt> needs to be invoked as the user under which it will function
as a server. By default, that user is <em>safekeep</em>. For extra security,
you can not login into that account, so you have to invoke <tt>safekeep(1)</tt>
-as follows:</p>
+as <em>root</em>:</p>
<div class="listingblock">
<div class="content">
-<pre><tt> # sudo -H -u safekeep safekeep --keys --deploy</tt></pre>
+<pre><tt> [root@yourbox ~] # safekeep --keys --deploy</tt></pre>
</div></div>
</div>
<h2>RESTORING</h2>
@@ -535,21 +522,48 @@
this task.</p>
<p>To do so, you just need to know the directory where the data is actually
stored. In a typical installation, for a box configured via the file
-<tt>/etc/safekeep.d/mybox.conf</tt>, the data will be stored under
-<tt>/var/lib/safekeep/mybox/</tt>. Please refer to <tt>safekeep.conf(5)</tt> for more
+<tt>/etc/safekeep/backup.d/mybox.backup</tt>, the data will be stored under
+<tt>/var/lib/safekeep/mybox/</tt>. Please refer to <tt>safekeep.backup(5)</tt> for more
information on this matter.</p>
<p>Once you have determined where the data will be stored (we'll continue
the example above), all you have to do is run <tt>rdiff-backup</tt>:</p>
<div class="listingblock">
<div class="content">
-<pre><tt> # rdiff-backup /var/lib/safekeep/mybox my-restore-dir</tt></pre>
+<pre><tt> # rdiff-backup -r 1s /var/lib/safekeep/mybox my-restore-dir</tt></pre>
</div></div>
<p>You will be able to find more information on the restore procedure in
the <tt>rdiff-backup(1)</tt> man page.</p>
</div>
+<h2>FILE SELECTION</h2>
+<div class="sectionbody">
+<p>It is important to note that the <tt>include</tt>/<tt>exclude</tt> directives that
+control file selection are matched in the order they appear in the
+configuration file, and the first one that matches dictates whether
+the file will be included or excluded. As a result, you have to
+add the more specific ones first, or the more generic specifications
+will always win. For example:</p>
+<div class="listingblock">
+<div class="content">
+<pre><tt>...
+ <include path="/home"/>
+ <exclude path="/home/joe"/>
+...</tt></pre>
+</div></div>
+<p>will NOT do what you expect, because the <tt>/home</tt> will match before
+<tt>/home/joe</tt>, and thus all files under <tt>/home</tt> will be included.
+The correct way is to flip the two around</p>
+<div class="listingblock">
+<div class="content">
+<pre><tt>...
+ <exclude path="/home/joe"/>
+ <include path="/home"/>
+...</tt></pre>
+</div></div>
+<p>Please see safekeep.backup(5) for more information on file selection.</p>
+</div>
<h2>SEE ALSO</h2>
<div class="sectionbody">
-<p>rdiff-backup(1), safekeep.conf(5)</p>
+<p>rdiff-backup(1), safekeep.conf(5), safekeep.backup(5)</p>
</div>
<h2>AUTHOR</h2>
<div class="sectionbody">
@@ -557,7 +571,7 @@
</div>
<div id="footer">
<div id="footer-text">
-Last updated 06-Feb-2007 20:43:01 EDT
+Last updated 13-Mar-2007 16:21:28 EDT
</div>
</div>
</body>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|