summaryrefslogtreecommitdiff
path: root/doc/man/s3qlcp.1
blob: d6c083112d3e84b7eb6dce3457ff797ce4909200 (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
147
148
149
150
151
152
153
154
155
.\" Man page generated from reStructuredText.
.
.TH "S3QLCP" "1" "Nov 06, 2018" "2.32" "S3QL"
.SH NAME
s3qlcp \- Copy-on-write replication on S3QL file systems
.
.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
.sp
.nf
.ft C
s3qlcp [options] <source\-dir> <dest\-dir>
.ft P
.fi
.UNINDENT
.UNINDENT
.SH DESCRIPTION
.sp
S3QL is a file system for online data storage. Before using S3QL, make
sure to consult the full documentation (rather than just the man pages
which only briefly document the available userspace commands).
.sp
The \fBs3qlcp\fP command duplicates the directory tree \fBsource\-dir\fP
into \fBdest\-dir\fP without physically copying the file contents.
Both source and destination must lie inside the same S3QL file system.
.sp
The replication will not take any additional space. Only if one of
directories is modified later on, the modified data will take
additional storage space.
.sp
\fBs3qlcp\fP can only be called by the user that mounted the file system
and (if the file system was mounted with \fB\-\-allow\-other\fP or \fB\-\-allow\-root\fP)
the root user.
.sp
Note that:
.INDENT 0.0
.IP \(bu 2
After the replication, both source and target directory will still
be completely ordinary directories. You can regard \fB<src>\fP as a
snapshot of \fB<target>\fP or vice versa. However, the most common
usage of \fBs3qlcp\fP is to regularly duplicate the same source
directory, say \fBdocuments\fP, to different target directories. For a
e.g. monthly replication, the target directories would typically be
named something like \fBdocuments_January\fP for the replication in
January, \fBdocuments_February\fP for the replication in February etc.
In this case it is clear that the target directories should be
regarded as snapshots of the source directory.
.IP \(bu 2
Exactly the same effect could be achieved by an ordinary copy
program like \fBcp \-a\fP\&. However, this procedure would be orders of
magnitude slower, because \fBcp\fP would have to read every file
completely (so that S3QL had to fetch all the data over the network
from the backend) before writing them into the destination folder.
.UNINDENT
.SS Snapshotting vs Hardlinking
.sp
Snapshot support in S3QL is inspired by the hardlinking feature that
is offered by programs like \fI\%rsync\fP or
\fI\%storeBackup\fP\&.
These programs can create a hardlink instead of copying a file if an
identical file already exists in the backup. However, using hardlinks
has two large disadvantages:
.INDENT 0.0
.IP \(bu 2
backups and restores always have to be made with a special program
that takes care of the hardlinking. The backup must not be touched
by any other programs (they may make changes that inadvertently
affect other hardlinked files)
.IP \(bu 2
special care needs to be taken to handle files which are already
hardlinked (the restore program needs to know that the hardlink was
not just introduced by the backup program to safe space)
.UNINDENT
.sp
S3QL snapshots do not have these problems, and they can be used with
any backup program.
.SH OPTIONS
.sp
The \fBs3qlcp\fP command accepts the following options:
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.TP
.BI \-\-debug\-modules \ <modules>
Activate debugging output from specified modules (use
commas to separate multiple modules). Debug messages
will be written to the target specified by the
\fB\-\-log\fP option.
.TP
.B \-\-debug
Activate debugging output from all S3QL modules. Debug
messages will be written to the target specified by
the \fB\-\-log\fP option.
.TP
.B \-\-quiet
be really quiet
.TP
.B \-\-version
just print program version and exit
.UNINDENT
.UNINDENT
.UNINDENT
.SH EXIT CODES
.sp
\fBs3qlcp\fP may terminate with the following exit codes:
.INDENT 0.0
.TP
.B 0
Everything went well.
.TP
.B 1
An unexpected error occured. This may indicate a bug in the
program.
.TP
.B 2
Invalid command line argument or configuration file key.
.UNINDENT
.SH SEE ALSO
.sp
The S3QL homepage is at \fI\%https://bitbucket.org/nikratio/s3ql/\fP\&.
.sp
The full S3QL documentation should also be installed somewhere on your
system, common locations are \fB/usr/share/doc/s3ql\fP or
\fB/usr/local/doc/s3ql\fP\&.
.SH COPYRIGHT
© 2008 Nikolaus Rath <Nikolaus@rath.org>
.\" Generated by docutils manpage writer.
.