1SUMMAIN(1)                  General Commands Manual                 SUMMAIN(1)
2
3
4

NAME

6       summain - gather file checksums and metadata
7

SYNOPSIS

9       summain      [-cCHECKSUM]     [--checksum=CHECKSUM]     [--config=FILE]
10       [--dump-config]  [--dump-setting-names]   [--generate-manpage=TEMPLATE]
11       [-h]    [--help]    [--help-all]    [--list-config-files]   [--version]
12       [--no-default-configs] [--dump-memory-profile=METHOD] [--exclude=FIELD]
13       [--log=FILE]    [--log-keep=N]   [--log-level=LEVEL]   [--log-max=SIZE]
14       [--log-mode=MODE]     [-m]     [--mangle-paths]     [--no-mangle-paths]
15       [--memory-dump-interval=SECONDS]    [--output=FILE]   [-fOUTPUT-FORMAT]
16       [--output-format=OUTPUT-FORMAT]         [-r]         [--relative-paths]
17       [--no-relative-paths] [--secret=SECRET] [FILE]...
18

DESCRIPTION

20       summain gathers metadata about files, and computes their checksums.  It
21       is intended to create a manifest of the files.   The  manifest  can  be
22       used to see if something has changed: a new manifest can be created and
23       compared with the old one with diff(1).
24
25       The manifest looks like this:
26
27              Name: foo/bar/foobar
28              SHA1: 1234123413241324
29              Mtime: 2010-01-01 02:08:00.127651 +0000
30              Mode: 1755
31
32       The filename is URL-encoded to ensure it is purely ASCII.  Mode  is  in
33       octal.
34
35       Only  some  inode  fields are included.  It does not make sense to com‐
36       pare, for example, the access time, so that is not included.
37
38       Time stamps are given using microsecond precision, for the  benefit  of
39       those  filesystems  that  can  support  precise timestamps.  (Should be
40       nanosecond,  but  Python  return  timestamps  as  floating  point,  and
41       nanosecond precision is too much for the floating point type.)
42
43       The  inode  and  device  number fields will not be reported accurately.
44       Instead, they are normalized so that manifests  are  useful  after  the
45       files have been restored from backups.  Accurate numbers would mean ev‐
46       erything seems to have changed.  Normalized means that there will be no
47       differences.   The  numbers  are  reported  so  that  hard links can be
48       checked.
49
50       Directories named on the command line will be recursed automatically.
51

OPTIONS

53       -c, --checksum=CHECKSUM
54              which checksums to compute: MD5, SHA1, SHA224,  SHA256,  SHA384,
55              SHA512; use once per checksum type (default is SHA1)
56
57       --exclude=FIELD
58              do not output or compute FIELD
59
60       --generate-manpage=TEMPLATE
61              fill in manual page TEMPLATE
62
63       -h, --help
64              show this help message and exit
65
66       -m, --mangle-paths
67              mangle (obfuscate) paths
68
69       --no-mangle-paths
70              opposite of --mangle-paths
71
72       --output=FILE
73              write output to FILE, instead of standard output
74
75       -f, --output-format=OUTPUT-FORMAT
76              choose output format (rfc822, csv, json)
77
78       -r, --relative-paths
79              print paths relative to arguments
80
81       --no-relative-paths
82              opposite of --relative-paths
83
84       --secret=SECRET
85              use SECRET to make mangled paths unguessable
86
87       --version
88              show program's version number and exit
89
90   Configuration files and settings
91       --config=FILE
92              add FILE to config files
93
94       --dump-config
95              write out the entire current configuration
96
97       --dump-setting-names
98              write out all names of settings and quit
99
100       --help-all
101              show all options
102
103       --list-config-files
104              list all possible config files
105
106       --no-default-configs
107              clear list of configuration files to read
108
109   Logging
110       --log=FILE
111              write  log entries to FILE (default is to not write log files at
112              all); use "syslog" to log to system log, "stderr" to log to  the
113              standard error output, or "none" to disable logging
114
115       --log-keep=N
116              keep last N logs (10)
117
118       --log-level=LEVEL
119              log  at LEVEL, one of debug, info, warning, error, critical, fa‐
120              tal (default: debug)
121
122       --log-max=SIZE
123              rotate logs larger than SIZE, zero for never (default: 0)
124
125       --log-mode=MODE
126              set permissions of new log files to MODE (octal; default 0600)
127
128   Peformance
129       --dump-memory-profile=METHOD
130              make memory profiling dumps using METHOD, which is one of: none,
131              simple, or meliae (default: simple)
132
133       --memory-dump-interval=SECONDS
134              make memory profiling dumps at least SECONDS apart
135

EXAMPLE

137       To  make  a complete manifest of a directory tree so that you can later
138       verify that nothing at all has changed:
139
140              summain foo > foo.summain
141
142       To verify that nothing has changed:
143
144              summain foo > foo.summain-2
145              diff -u foo.summain foo.summain-2
146
147
148
149                                                                    SUMMAIN(1)
Impressum