<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<RefEntry id="metche">
<refmeta>
<refentrytitle>metche</refentrytitle>
<manvolnum>8</manvolnum>
</refmeta>
<refnamediv>
<refname>metche</refname>
<refpurpose>reducing root bus factor</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>metche</command>
<arg>-h <replaceable>host</replaceable></arg>
<group choice="req">
<arg choice="req">cron</arg>
<arg choice="req">report <arg choice="opt"><replaceable>milestone</replaceable></arg></arg>
<arg choice="req">list</arg>
</group>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="description">
<title>DESCRIPTION</title>
<para>metche is a tool meant to facilitate collective sysadmin, by
monitoring changes in the system configuration. At least
<envar>WATCHED_DIR</envar> (default: <filename>/etc</filename>) is
monitored ; optionally, metche can also monitor :</para>
<itemizedlist>
<listitem>
<para>system Changelog files located in
<filename><envar>CHANGELOG_DIR</envar>/*/Changelog</filename> (default:
<filename>/root/changelogs/*/Changelog</filename>)</para>
</listitem>
<listitem>
<para>Debian packages states and versions</para>
</listitem>
</itemizedlist>
<para><envar>WATCHED_DIR</envar> and <envar>CHANGELOG_DIR</envar> options
can me customized in metche's configuration file, as well as a few other
ones.</para>
<para>If <command>-h</command> <emphasis>HOST</emphasis> is specified,
<filename>/etc/metche/HOST.conf</filename> is used instead of
<filename>/etc/metche.conf</filename>. This, along with the
<envar>VSERVER_EXEC_PREFIX</envar> option, allows to monitor several
vservers running on a system.</para>
<para>Anyway, one of the following commands has to be specified on the
command line :</para>
<refsect2 id="cron"><title>cron</title>
<para>When run (usually by a cronjob) with the <command>cron</command>
command, metche looks if the system configuration has changed in the last
<envar>$TESTING_TIME</envar> minutes. If it is the case, a "unstable
state" is saved. Otherwise, a "testing state" (also called a "milestone")
is saved, and a report (see <ulink
url="https://poivron.org/dev/metche/">metche's homepage</ulink> for an
example) is emailed to you.</para>
</refsect2>
<refsect2 id="report"><title>report [<emphasis>milestone</emphasis>]</title>
<para>When run with the <command>report</command> command, metche displays
a report against a given milestone, if specified, or against the latest
one, otherwise. This is useful when you have broken your system and want
to know which changes have been made since a given, known working,
milestone.</para>
</refsect2>
<refsect2 id="list"><title>list</title>
<para>When run with the <command>list</command> command, metche displays
the full saved states list.</para>
</refsect2>
</refsect1>
<refsect1 id="files"><title>FILES</title>
<para><filename>/etc/metche.conf</filename> or
<filename>/etc/metche/*.conf</filename> : configuration file(s)</para>
<para><filename><envar>CHANGELOG_DIR</envar>/*/Changelog</filename>
(default : <filename>/root/changelogs</filename>), if Changelog monitoring
is enabled : Changelog files location</para>
<para><filename><envar>BACKUP_DIR</envar></filename> : directory containing
the backups</para>
</refsect1>
<refsect1 id="security"><title>SECURITY</title>
<para>metche sends in <emphasis>clear text email</emphasis> the changes made
to the watched directory... either make sure that the
<envar>TAR_OPTS</envar> configuration variable prevents it to send sensitive
information, or triple check that secure connections will be used end-to-end
on the email path. If unsure, set <envar>EMAIL_ADDRESS</envar> configuration
variable to a local mailbox.</para>
<para>metche stores, in <envar>BACKUP_DIR</envar> (default :
<filename>/var/lib/metche</filename>), various backups of
<envar>WATCHED_DIR</envar>. Make sure that the backup place is at least as
secure as the source.
</refsect1>
<refsect1 id="bugs"><title>BUGS</title>
<para>See <ulink url="https://poivron.org/dev/metche/">metche's ticket
system</ulink> to see the bugs, missing features, and development
road-map.</para>
</refsect1>
<refsect1 id="author"><title>AUTHOR</title>
<para>This manual page was written by Intri Geri
<email>intrigeri@boum.org</email>.</para>
</refsect1>
</RefEntry>