aboutsummaryrefslogtreecommitdiffstats
path: root/man/grok-fsck.1
blob: f381b406a6771e89ad9ac83a058dd7fbc15b6913 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
.\" Man page generated from reStructuredText.
.
.TH GROK-FSCK 1 "2018-04-18" "1.0.2" ""
.SH NAME
GROK-FSCK \- Check mirrored repositories for corruption
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.INDENT 0.0
.INDENT 3.5
grok\-fsck \-c /path/to/fsck.conf
.UNINDENT
.UNINDENT
.SH DESCRIPTION
.sp
Git repositories can get corrupted whether they are frequently updated
or not, which is why it is useful to routinely check them using "git
fsck". Grokmirror ships with a "grok\-fsck" utility that will run "git
fsck" on all mirrored git repositories. It is supposed to be run
nightly from cron, and will do its best to randomly stagger the checks
so only a subset of repositories is checked each night. Any errors will
be sent to the user set in MAILTO.
.SH OPTIONS
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.TP
.B \-\-version
show program\(aqs version number and exit
.TP
.B \-h\fP,\fB  \-\-help
show this help message and exit
.TP
.B \-v\fP,\fB  \-\-verbose
Be verbose and tell us what you are doing
.TP
.B \-f\fP,\fB  \-\-force
Force immediate run on all repositories.
.TP
.BI \-c \ CONFIG\fP,\fB \ \-\-config\fB= CONFIG
Location of fsck.conf
.TP
.B \-\-connectivity
(Assumes \-\-force): Run git fsck on all repos,
but only check connectivity
.TP
.B \-\-repack\-all\-quick
(Assumes \-\-force): Do a quick repack of all repos
.TP
.B \-\-repack\-all\-full
(Assumes \-\-force): Do a full repack of all repos
.UNINDENT
.UNINDENT
.UNINDENT
.SH EXAMPLES
.sp
Locate fsck.conf and modify it to reflect your needs. The default
configuration file is heavily commented.
.sp
Set up a cron job to run nightly and to email any discovered errors to
root:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
# Make sure MAILTO is set, for error reports
MAILTO=root
# Run nightly, at 2AM
00 02 * * * mirror /usr/bin/grok\-fsck \-c /etc/grokmirror/fsck.conf
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
You can force a full run using the \fB\-f\fP flag, but unless you only have
a few smallish git repositories, it\(aqs not recommended, as it may take
several hours to complete, as it will do a full repack, prune and fsck
of all repositories. To make this process faster, you can use:
.INDENT 0.0
.IP \(bu 2
\fB\-\-connectivity\fP: when doing fsck, only check object connectivity
.IP \(bu 2
\fB\-\-repack\-all\-quick\fP: do a quick repack of all repositories
.IP \(bu 2
\fB\-\-repack\-all\-full\fP: if you have \fBfull_repack_flags\fP defined in
the configuration file, trigger a full repack of every repository.
This can be handy if you need to bring up a newly cloned mirror and
want to make sure it\(aqs repacked and all bitmaps are built before
serving content.
.UNINDENT
.SH SEE ALSO
.INDENT 0.0
.IP \(bu 2
grok\-manifest(1)
.IP \(bu 2
grok\-pull(1)
.IP \(bu 2
git(1)
.UNINDENT
.SH SUPPORT
.sp
Please send support requests to the mailing list:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
http://lists.kernel.org/mailman/listinfo/grokmirror
.ft P
.fi
.UNINDENT
.UNINDENT
.SH AUTHOR
mricon@kernel.org

License: GPLv3+
.SH COPYRIGHT
The Linux Foundation and contributors
.\" Generated by docutils manpage writer.
.