|
From: <di...@us...> - 2007-02-02 20:27:41
|
Revision: 365
http://safekeep.svn.sourceforge.net/safekeep/?rev=365&view=rev
Author: dimi
Date: 2007-02-02 12:27:39 -0800 (Fri, 02 Feb 2007)
Log Message:
-----------
Add the man pages to the website
Modified Paths:
--------------
website/trunk/WebContent/documentation.shtml
Added Paths:
-----------
website/trunk/WebContent/safekeep.conf.html
website/trunk/WebContent/safekeep.html
Modified: website/trunk/WebContent/documentation.shtml
===================================================================
--- website/trunk/WebContent/documentation.shtml 2007-02-02 01:16:43 UTC (rev 364)
+++ website/trunk/WebContent/documentation.shtml 2007-02-02 20:27:39 UTC (rev 365)
@@ -14,9 +14,9 @@
Please note that this section is a works-in-progress.
We hope to have them available in the next little while.
<ul>
- <li><a href="safekeep-man-1.shtml">SafeKeep man(1) page</a></li>
- <li><a href="safekeep-man-5.shtml">SafeKeep man(5) page</a></li>
- <li><a href="safekeep-tips.shtml">SafeKeep Tips</a></li>
+ <li><a href="safekeep.html">safekeep(1) man page</a></li>
+ <li><a href="safekeep.conf.html">safekeep.conf(5) man page</a></li>
+ <!--li><a href="safekeep-tips.shtml">SafeKeep Tips</a></li-->
</ul>
</p>
Added: website/trunk/WebContent/safekeep.conf.html
===================================================================
--- website/trunk/WebContent/safekeep.conf.html (rev 0)
+++ website/trunk/WebContent/safekeep.conf.html 2007-02-02 20:27:39 UTC (rev 365)
@@ -0,0 +1,632 @@
+<!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.conf(5)</title>
+</head>
+<body>
+<div id="header">
+<h1>
+safekeep.conf(5) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>safekeep.conf -
+ Configuration file for 'safekeep(1)'
+</p>
+</div>
+</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>
+</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>
+</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 home directory of the user under
+ which <tt>safekeep(1)</tt> runs on the server.
+ 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 excluded by the file selection system exactly when the first
+matching file selection condition specifies that the file be excluded;
+otherwise
+the file is included. 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>
+</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 02-Feb-2007 00:28:18 EDT
+</div>
+</div>
+</body>
+</html>
Added: website/trunk/WebContent/safekeep.html
===================================================================
--- website/trunk/WebContent/safekeep.html (rev 0)
+++ website/trunk/WebContent/safekeep.html 2007-02-02 20:27:39 UTC (rev 365)
@@ -0,0 +1,545 @@
+<!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(1)</title>
+</head>
+<body>
+<div id="header">
+<h1>
+safekeep(1) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>safekeep -
+ Client/server backup script
+</p>
+</div>
+</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> --client</p>
+<p><em>safekeep</em> -h | -V</p>
+</div>
+<h2>DESCRIPTION</h2>
+<div class="sectionbody">
+<p>SafeKeep is a client/server backup script which enhances the
+power of rdiff-backup with simple configuration and use.</p>
+<p>SafeKeep can work in server mode, client mode or SSH key management mode.</p>
+<p>In server mode, SafeKeep parses a set of configurations files which
+defines a set of backup clients. For each backup client, SafeKeep
+connects to the client host over SSH (using a public key authentification
+system previously set up using <tt>safekeep -keys --deploy</tt>), and launches
+<tt>safekeep --client</tt> onto the client host. The client does the real backup
+and sends the data over SSH to the SafeKeep server which stores it in
+the specified location.</p>
+<p>In client mode, SafeKeep does a few setup steps, depending on the
+client configuration (database dump, LVM device snapshot), then backups
+the client data using <tt>rdiff-backup</tt>, and then cleanups the state
+(removes the database dumps, deactivates the LVM snapshots)</p>
+<p>Note that the client mode of SafeKeep should never be invoked manually,
+this mode is meant to be used only by the server mode of SafeKeep.</p>
+<p>The SSH key management mode is a helper mode for deploying or verifying
+the setup of the SSH authentification keys.</p>
+<p>In both server and keys management mode, you can restrict the operation
+to a specific set of clients by listing the desired client IDs as
+arguments. If no client ID is given, SafeKeep will operate over all known
+clients.</p>
+<p>Each mode accepts a few options as described below.</p>
+</div>
+<h2>OPERATION MODE</h2>
+<div class="sectionbody">
+<dl>
+<dt>
+--server
+</dt>
+<dd>
+<p>
+ Selects the server mode (default)
+</p>
+</dd>
+<dt>
+--client
+</dt>
+<dd>
+<p>
+ Selects the client mode. This should never be invoked manually, the
+ clients are started automatically by the server on the client machines
+ using SSH.
+</p>
+</dd>
+<dt>
+--keys
+</dt>
+<dd>
+<p>
+ Selects the SSH key management mode
+</p>
+</dd>
+</dl>
+</div>
+<h2>GENERAL OPTIONS</h2>
+<div class="sectionbody">
+<dl>
+<dt>
+-h, --help
+</dt>
+<dd>
+<p>
+ Selects the help mode, in which safekeep prints out the
+ online help and exits.
+</p>
+</dd>
+<dt>
+-V, --version
+</dt>
+<dd>
+<p>
+ Selects the version mode, in which safekeep prints out the
+ version number and exits.
+</p>
+</dd>
+<dt>
+-q, --quiet
+</dt>
+<dd>
+<p>
+ Decreases the verbosity level. Can be specified more than
+ once.
+</p>
+</dd>
+<dt>
+-v, --verbose
+</dt>
+<dd>
+<p>
+ Increases the verbosity level. Can be specified more than
+ once.
+</p>
+</dd>
+</dl>
+</div>
+<h2>SERVER OPTIONS</h2>
+<div class="sectionbody">
+<dl>
+<dt>
+-c, --conf=FILE|DIR
+</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 to searching
+ <tt>/etc/safekeep.d/</tt> for configuration files.
+ Simply using this default is the recommended usage.
+</p>
+</dd>
+<dt>
+-e, --email=EMAIL
+</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.
+</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>
+<p>
+ Display the key status for the clients. It is implied if no other
+ option is specified. In effect this option prints the steps that
+ will be taken when the keys are deployed to the client.
+</p>
+</dd>
+<dt>
+--print
+</dt>
+<dd>
+<p>
+ Display the authorization keys for the clients. This is useful in
+ case you want to manually copy it into the client's
+ <tt>~/.ssh/authorized_keys</tt> file. This option is seldom useful.
+</p>
+</dd>
+<dt>
+--deploy
+</dt>
+<dd>
+<p>
+ Deploy the authorization keys on the clients.
+</p>
+</dd>
+</dl>
+</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>
+<div class="listingblock">
+<div class="content">
+<pre><tt><backup>
+ <host name="my_workstation" />
+</backup></tt></pre>
+</div></div>
+<p>This will simply backup all relevant files (excluding temporary files,
+caches, etc) from the client with the address <tt>my_workstation</tt>.</p>
+<p>A more realistic example:</p>
+<div class="listingblock">
+<div class="content">
+<pre><tt><backup>
+ <host name="my_workstation" />
+ <repo retention="10D" />
+ <setup>
+ <dump type="postgres" user="postgres" file="/var/lib/pgsql/backups/all_dbs" />
+ <snapshot device="/dev/mapper/VolGroup00-LogVol00" size="500M" />
+ </setup>
+
+ <data>
+ <exclude regexp=".*\.ogg"/>
+ <exclude regexp=".*\.mp3"/>
+
+ <include path="/etc"/>
+
+ <exclude glob="/home/*/tmp"/>
+ <include path="/home"/>
+
+ <include path="/root"/>
+
+ <include path="/srv"/>
+
+ <exclude path="/var/cache"/>
+ <exclude path="/var/lock"/>
+ <exclude path="/var/run"/>
+ <exclude path="/var/tmp"/>
+ <include path="/var/named/chroot/etc"/>
+ <include path="/var/named/chroot/var/named"/>
+ <exclude path="/var/named/chroot"/>
+ <include path="/var"/>
+
+ <exclude path="/"/>
+ </data>
+</backup></tt></pre>
+</div></div>
+<p>In this case, SafeKeep will dump all databases managed by PostgreSQL,
+snapshot the disk via LVM, and proceed to backup <tt>/etc</tt>, <tt>/home</tt>,
+<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>
+</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>
+</div>
+<h2>KEY DEPLOYMENT</h2>
+<div class="sectionbody">
+<p>The <tt>safekeep(1)</tt> server needs to access the clients in order to conduct
+the backup. To that end, it establishes two ssh(1) pipes: one for control,
+and one for data. To simplify the deployment of the keys, <tt>safekeep(1)</tt>
+has a key deploy mode.</p>
+<p>When deploying keys using the built-in key management functionality,
+<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>
+<div class="listingblock">
+<div class="content">
+<pre><tt> # sudo -H -u safekeep safekeep --keys --deploy</tt></pre>
+</div></div>
+</div>
+<h2>SEE ALSO</h2>
+<div class="sectionbody">
+<p>rdiff-backup(1), safekeep.conf(5)</p>
+</div>
+<h2>AUTHOR</h2>
+<div class="sectionbody">
+<p>Written by Dimi Paun <di...@la...> and Stelian Pop <st...@la...>.</p>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 02-Feb-2007 00:28:17 EDT
+</div>
+</div>
+</body>
+</html>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|