[lxc-devel] [PATCH 1/1] snapshots: add man page and fix up help info a bit.

Serge Hallyn serge.hallyn at ubuntu.com
Thu Sep 12 20:08:26 UTC 2013


Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
 configure.ac             |   1 +
 doc/Makefile.am          |   1 +
 doc/lxc-snapshot.sgml.in | 152 +++++++++++++++++++++++++++++++++++++++++++++++
 src/lxc/lxc_snapshot.c   |   7 ++-
 4 files changed, 158 insertions(+), 3 deletions(-)
 create mode 100644 doc/lxc-snapshot.sgml.in

diff --git a/configure.ac b/configure.ac
index c734bea..6c74dcd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -414,6 +414,7 @@ AC_CONFIG_FILES([
 	doc/lxc-netstat.sgml
 	doc/lxc-ps.sgml
 	doc/lxc-restart.sgml
+	doc/lxc-snapshot.sgml
 	doc/lxc-start-ephemeral.sgml
 	doc/lxc-start.sgml
 	doc/lxc-stop.sgml
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 2321a68..f2a106b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -22,6 +22,7 @@ man_MANS = \
 	lxc-netstat.1 \
 	lxc-ps.1 \
 	lxc-restart.1 \
+	lxc-snapshot.1 \
 	lxc-start.1 \
 	lxc-stop.1 \
 	lxc-unfreeze.1 \
diff --git a/doc/lxc-snapshot.sgml.in b/doc/lxc-snapshot.sgml.in
new file mode 100644
index 0000000..f66070b
--- /dev/null
+++ b/doc/lxc-snapshot.sgml.in
@@ -0,0 +1,152 @@
+<!--
+
+lxc: linux Container library
+
+(C) Copyright Canonical Inc. 2007, 2008
+
+Authors:
+Serge Hallyn <serge.hallyn at ubuntu.com>
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+-->
+
+<!DOCTYPE refentry PUBLIC @docdtd@ [
+
+<!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
+<!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
+]>
+
+<refentry>
+
+  <docinfo><date>@LXC_GENERATE_DATE@</date></docinfo>
+
+  <refmeta>
+    <refentrytitle>lxc-snapshot</refentrytitle>
+    <manvolnum>1</manvolnum>
+  </refmeta>
+
+  <refnamediv>
+    <refname>lxc-snapshot</refname>
+
+    <refpurpose>
+      Snapshot an existing container.
+    </refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>lxc-snapshot</command>
+      <arg choice="req">-n, --name <replaceable>name</replaceable></arg>
+      <arg choice="opt">-c, --comment <replaceable>file</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>lxc-snapshot</command>
+      <arg choice="req">-n, --name <replaceable>name</replaceable></arg>
+      <arg choice="req">-L, --list </arg>
+      <arg choice="opt">-C, --showcomments </arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>lxc-snapshot</command>
+      <arg choice="req">-n, --name <replaceable>name</replaceable></arg>
+      <arg choice="req">-r, -restore <replaceable>snapshot-name</replaceable></arg>
+      <arg choice="opt"> <replaceable> newname</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+
+  <refsect1>
+    <title>Description</title>
+
+    <para>
+      <command>lxc-snapshot</command> creates, lists, and restores
+      container snapshots.
+    </para>
+    <para>
+    Snapshots are stored as snapshotted containers under a private configuration path.  For instance, if the container's configuration path is <filename>/var/lib/lxc</filename> and the container is <filename>c1</filename>, then the first snapshot will be stored as container <filename>snap0</filename> under configuration path <filename>/var/lib/lxcsnaps/c1</filename>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+
+    <title>Options</title>
+
+    <variablelist>
+
+	  <varlistentry>
+	    <term> <option>-c,--comment <replaceable>comment_file</replaceable></option> </term>
+	   <listitem>
+	    <para> Associate the comment in <replaceable>comment_file</replaceable> with the newly created snapshot.</para>
+	   </listitem>
+	  </varlistentry>
+
+	  <varlistentry>
+	    <term> <option>-L,--list </option> </term>
+	   <listitem>
+	    <para> List existing snapshots. </para>
+	   </listitem>
+	  </varlistentry>
+
+	  <varlistentry>
+	    <term> <option>-C,--showcomments </option> </term>
+	   <listitem>
+	    <para> Show snapshot comments in the snapshots listings. </para>
+	   </listitem>
+	  </varlistentry>
+
+	  <varlistentry>
+	    <term> <option>-r,--restore snapshot-name</option> </term>
+	   <listitem>
+	    <para> Restore the named snapshot, meaning a full new container is created which is a copy of the snapshot.</para>
+	   </listitem>
+	  </varlistentry>
+
+	  <varlistentry>
+	    <term> <option>newname</option> </term>
+	   <listitem>
+	    <para> When restoring a snapshot, the last optional argument is the name to use for the restored container.  If no name is given, then the original container will be destroyed and the restored container will take its place.  Note that deleting the original snapshot is not possible in the case of overlayfs or zfs backed snapshots.</para>
+	   </listitem>
+	  </varlistentry>
+
+    </variablelist>
+
+  </refsect1>
+
+  &commonoptions;
+
+  &seealso;
+
+  <refsect1>
+    <title>Author</title>
+    <para>Serge Hallyn <email>serge.hallyn at ubuntu.com </email></para>
+  </refsect1>
+
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/src/lxc/lxc_snapshot.c b/src/lxc/lxc_snapshot.c
index 05562f0..0177f5d 100644
--- a/src/lxc/lxc_snapshot.c
+++ b/src/lxc/lxc_snapshot.c
@@ -129,13 +129,14 @@ static const struct option my_longopts[] = {
 
 
 static struct lxc_arguments my_args = {
-	.progname = "lxc-create",
+	.progname = "lxc-snapshot",
 	.help     = "\
---name=NAME [-w] [-r] [-t timeout] [-P lxcpath]\n\
+--name=NAME [-P lxcpath] [-L [-C]] [-c commentfile] [-r snapname [newname]]\n\
 \n\
-lxc-create creates a container\n\
+lxc-snapshot snapshots a container\n\
 \n\
 Options :\n\
+  -n, --name=NAME   NAME for name of the container\n\
   -L, --list          list snapshots\n\
   -C, --showcomments  show snapshot comments in list\n\
   -c, --comment=file  add file as a comment\n\
-- 
1.8.1.2





More information about the lxc-devel mailing list