Fixed quoting in the documentation

This commit is contained in:
Andrea Mazzoleni 2025-12-11 15:11:05 +01:00
parent 6729e2d0eb
commit 04d39addca
3 changed files with 519 additions and 519 deletions

View file

@ -151,7 +151,7 @@ Permissions, ownership, and extended attributes are not saved.
.PD
.SH GETTING STARTED
To use SnapRAID, you need to first select one disk in your disk array
to dedicate to \[dq]parity\[dq] information. With one disk for parity, you
to dedicate to \`parity\` information. With one disk for parity, you
will be able to recover from a single disk failure, similar to RAID5.
.PP
If you want to recover from more disk failures, similar to RAID6,
@ -162,20 +162,20 @@ As parity disks, you must pick the largest disks in the array,
as the parity information may grow to the size of the largest data
disk in the array.
.PP
These disks will be dedicated to storing the \[dq]parity\[dq] files.
These disks will be dedicated to storing the \`parity\` files.
You should not store your data on them.
.PP
Then, you must define the \[dq]data\[dq] disks that you want to protect
Then, you must define the \`data\` disks that you want to protect
with SnapRAID. The protection is more effective if these disks
contain data that rarely changes. For this reason, it\'s better to
NOT include the Windows C:\\ disk or the Unix /home, /var, and /tmp
directories.
.PP
The list of files is saved in the \[dq]content\[dq] files, usually
The list of files is saved in the \`content\` files, usually
stored on the data, parity, or boot disks.
This file contains the details of your backup, including all the
checksums to verify its integrity.
The \[dq]content\[dq] file is stored in multiple copies, and each copy must
The \`content\` file is stored in multiple copies, and each copy must
be on a different disk to ensure that, even in case of multiple
disk failures, at least one copy is available.
.PP
@ -275,7 +275,7 @@ https://www.google.com/search?q=Windows+mount+point
.PD
.RE
.PP
At this point, you are ready to run the \[dq]sync\[dq] command to build the
At this point, you are ready to run the \`sync\` command to build the
parity information.
.PP
.RS 4
@ -294,10 +294,10 @@ will resume where it was interrupted.
When this command completes, your data is SAFE.
.PP
Now you can start using your array as you like and periodically
update the parity information by running the \[dq]sync\[dq] command.
update the parity information by running the \`sync\` command.
.SS Scrubbing
To periodically check the data and parity for errors, you can
run the \[dq]scrub\[dq] command.
run the \`scrub\` command.
.PP
.RS 4
snapraid scrub
@ -306,7 +306,7 @@ snapraid scrub
.RE
.PP
This command compares the data in your array with the hash computed
during the \[dq]sync\[dq] command to verify integrity.
during the \`sync\` command to verify integrity.
.PP
Each run of the command checks approximately 8% of the array, excluding data
already scrubbed in the previous 10 days.
@ -321,8 +321,8 @@ snapraid \-p 5 \-o 20 scrub
.RE
.PP
If silent or input/output errors are found during the process,
the corresponding blocks are marked as bad in the \[dq]content\[dq] file
and listed in the \[dq]status\[dq] command.
the corresponding blocks are marked as bad in the \`content\` file
and listed in the \`status\` command.
.PP
.RS 4
snapraid status
@ -330,7 +330,7 @@ snapraid status
.PD
.RE
.PP
To fix them, you can use the \[dq]fix\[dq] command, filtering for bad blocks with
To fix them, you can use the \`fix\` command, filtering for bad blocks with
the \-e, \-\-filter\-error option:
.PP
.RS 4
@ -339,7 +339,7 @@ snapraid \-e fix
.PD
.RE
.PP
At the next \[dq]scrub,\[dq] the errors will disappear from the \[dq]status\[dq] report
At the next \`scrub\`, the errors will disappear from the \`status\` report
if they are truly fixed. To make it faster, you can use \-p bad to scrub
only blocks marked as bad.
.PP
@ -349,8 +349,8 @@ snapraid \-p bad scrub
.PD
.RE
.PP
Running \[dq]scrub\[dq] on an unsynced array may report errors caused by
removed or modified files. These errors are reported in the \[dq]scrub\[dq]
Running \`scrub\` on an unsynced array may report errors caused by
removed or modified files. These errors are reported in the \`scrub\`
output, but the related blocks are not marked as bad.
.SS Pooling
Note: The pooling feature described below has been superseded by the
@ -363,10 +363,10 @@ protection and is commonly used in setups like OpenMediaVault (OMV)
or custom NAS configurations.
.PP
To have all the files in your array shown in the same directory tree,
you can enable the \[dq]pooling\[dq] feature. It creates a read\-only virtual
you can enable the \`pooling\` feature. It creates a read\-only virtual
view of all the files in your array using symbolic links.
.PP
You can configure the \[dq]pooling\[dq] directory in the configuration file with:
You can configure the \`pooling\` directory in the configuration file with:
.PP
.RS 4
pool /pool
@ -382,7 +382,7 @@ pool C:\\pool
.PD
.RE
.PP
and then run the \[dq]pool\[dq] command to create or update the virtual view.
and then run the \`pool\` command to create or update the virtual view.
.PP
.RS 4
snapraid pool
@ -442,10 +442,10 @@ In Windows, sharing symbolic links over a network requires clients to
resolve them remotely. To enable this, besides sharing the pool directory,
you must also share all the disks independently, using the disk names
defined in the configuration file as share points. You must also specify
in the \[dq]share\[dq] option of the configuration file the Windows UNC path that
in the \`share\` option of the configuration file the Windows UNC path that
remote clients need to use to access these shared disks.
.PP
For example, operating from a server named \[dq]darkstar\[dq], you can use
For example, operating from a server named \`darkstar\`, you can use
the options:
.PP
.RS 4
@ -550,11 +550,11 @@ Then proceed with the following steps.
You need some space to recover, ideally on additional
spare disks, but an external USB disk or remote disk will suffice.
.PP
Modify the SnapRAID configuration file to make the \[dq]data\[dq] or \[dq]parity\[dq]
Modify the SnapRAID configuration file to make the \`data\` or \`parity\`
option of the failed disk point to a location with enough empty
space to recover the files.
.PP
For example, if disk \[dq]d1\[dq] has failed, change from:
For example, if disk \`d1\` has failed, change from:
.PP
.RS 4
data d1 /mnt/disk1/
@ -570,7 +570,7 @@ data d1 /mnt/new_spare_disk/
.PD
.RE
.PP
If the disk to recover is a parity disk, update the appropriate \[dq]parity\[dq]
If the disk to recover is a parity disk, update the appropriate \`parity\`
option.
If you have multiple failed disks, update all their configuration options.
.SS STEP 2 \-> Fix
@ -582,8 +582,8 @@ snapraid \-d NAME \-l fix.log fix
.PD
.RE
.PP
Where NAME is the name of the disk, such as \[dq]d1\[dq] in our previous example.
If the disk to recover is a parity disk, use the names \[dq]parity\[dq], \[dq]2\-parity\[dq],
Where NAME is the name of the disk, such as \`d1\` in our previous example.
If the disk to recover is a parity disk, use the names \`parity\`, \`2\-parity\`,
etc.
If you have multiple failed disks, use multiple \-d options to specify all
of them.
@ -594,26 +594,26 @@ Ensure you have a few gigabytes free to store the fix.log file.
Run it from a disk with sufficient free space.
.PP
Now you have recovered all that is recoverable. If some files are partially
or totally unrecoverable, they will be renamed by adding the \[dq].unrecoverable\[dq]
or totally unrecoverable, they will be renamed by adding the \`.unrecoverable\`
extension.
.PP
You can find a detailed list of all unrecoverable blocks in the fix.log file
by checking all lines starting with \[dq]unrecoverable:\[dq].
by checking all lines starting with \`unrecoverable:\`.
.PP
If you are not satisfied with the recovery, you can retry it as many
times as you wish.
.PP
For example, if you have removed files from the array after the last
\[dq]sync\[dq], this may result in some files not being recovered.
In this case, you can retry the \[dq]fix\[dq] using the \-i, \-\-import option,
\`sync\`, this may result in some files not being recovered.
In this case, you can retry the \`fix\` using the \-i, \-\-import option,
specifying where these files are now to include them again in the
recovery process.
.PP
If you are satisfied with the recovery, you can proceed further,
but note that after syncing, you cannot retry the \[dq]fix\[dq] command
but note that after syncing, you cannot retry the \`fix\` command
anymore!
.SS STEP 3 \-> Check
As a cautious check, you can now run a \[dq]check\[dq] command to ensure that
As a cautious check, you can now run a \`check\` command to ensure that
everything is correct on the recovered disk.
.PP
.RS 4
@ -622,7 +622,7 @@ snapraid \-d NAME \-a check
.PD
.RE
.PP
Where NAME is the name of the disk, such as \[dq]d1\[dq] in our previous example.
Where NAME is the name of the disk, such as \`d1\` in our previous example.
.PP
The \-d and \-a options tell SnapRAID to check only the specified disk
and ignore all parity data.
@ -630,7 +630,7 @@ and ignore all parity data.
This command will take a long time, but if you are not overly cautious,
you can skip it.
.SS STEP 4 \-> Sync
Run the \[dq]sync\[dq] command to resynchronize the array with the new disk.
Run the \`sync\` command to resynchronize the array with the new disk.
.PP
.RS 4
snapraid sync
@ -643,15 +643,15 @@ If everything is recovered, this command is immediate.
SnapRAID provides a few simple commands that allow you to:
.PD 0
.IP \(bu
Print the status of the array \-> \[dq]status\[dq]
Print the status of the array \-> \`status\`
.IP \(bu
Control the disks \-> \[dq]smart\[dq], \[dq]probe\[dq], \[dq]up\[dq], \[dq]down\[dq]
Control the disks \-> \`smart\`, \`probe\`, \`up\`, \`down\`
.IP \(bu
Make a backup/snapshot \-> \[dq]sync\[dq]
Make a backup/snapshot \-> \`sync\`
.IP \(bu
Periodically check data \-> \[dq]scrub\[dq]
Periodically check data \-> \`scrub\`
.IP \(bu
Restore the last backup/snapshot \-> \[dq]fix\[dq].
Restore the last backup/snapshot \-> \`fix\`.
.PD
.PP
Commands must be written in lowercase.
@ -663,10 +663,10 @@ the blocks are without checking, and all recorded silent
errors encountered while scrubbing.
.PP
The information presented refers to the latest time you
ran \[dq]sync\[dq]. Later modifications are not taken into account.
ran \`sync\`. Later modifications are not taken into account.
.PP
If bad blocks were detected, their block numbers are listed.
To fix them, you can use the \[dq]fix \-e\[dq] command.
To fix them, you can use the \`fix \-e\` command.
.PP
It also shows a graph representing the last time each block
was scrubbed or synced. Scrubbed blocks are shown with \'*\',
@ -689,7 +689,7 @@ https://www.backblaze.com/hard\-drive\-test\-data.html
.PD
.RE
.PP
If SMART reports that a disk is failing, \[dq]FAIL\[dq] or \[dq]PREFAIL\[dq] is printed
If SMART reports that a disk is failing, \`FAIL\` or \`PREFAIL\` is printed
for that disk, and SnapRAID returns with an error.
In this case, immediate replacement of the disk is highly recommended.
.PP
@ -713,25 +713,25 @@ If the \-v, \-\-verbose option is specified, a deeper statistical analysis
is provided. This analysis can help you decide if you need more
or less parity.
.PP
This command uses the \[dq]smartctl\[dq] tool and is equivalent to running
\[dq]smartctl \-a\[dq] on all devices.
This command uses the \`smartctl\` tool and is equivalent to running
\`smartctl \-a\` on all devices.
.PP
If your devices are not auto\-detected correctly, you can specify
a custom command using the \[dq]smartctl\[dq] option in the configuration
a custom command using the \`smartctl\` option in the configuration
file.
.PP
Nothing is modified.
.SS probe
Prints the POWER state of all disks in the system.
.PP
\[dq]Standby\[dq] means the disk is not spinning. \[dq]Active\[dq] means
\`Standby\` means the disk is not spinning. \`Active\` means
the disk is spinning.
.PP
This command uses the \[dq]smartctl\[dq] tool and is equivalent to running
\[dq]smartctl \-n standby \-i\[dq] on all devices.
This command uses the \`smartctl\` tool and is equivalent to running
\`smartctl \-n standby \-i\` on all devices.
.PP
If your devices are not auto\-detected correctly, you can specify
a custom command using the \[dq]smartctl\[dq] option in the configuration
a custom command using the \`smartctl\` option in the configuration
file.
.PP
Nothing is modified.
@ -747,19 +747,19 @@ Nothing is modified.
.SS down
Spins down all the disks of the array.
.PP
This command uses the \[dq]smartctl\[dq] tool and is equivalent to running
\[dq]smartctl \-s standby,now\[dq] on all devices.
This command uses the \`smartctl\` tool and is equivalent to running
\`smartctl \-s standby,now\` on all devices.
.PP
You can spin down only specific disks using the \-d, \-\-filter\-disk
option.
.PP
To automatically spin down on error, you can use the \-s, \-\-spin\-down\-on\-error
option with any other command, which is equivalent to running \[dq]down\[dq] manually
option with any other command, which is equivalent to running \`down\` manually
when an error occurs.
.PP
Nothing is modified.
.SS diff
Lists all the files modified since the last \[dq]sync\[dq] that need to have
Lists all the files modified since the last \`sync\` that need to have
their parity data recomputed.
.PP
This command doesn\'t check the file data, but only the file timestamp,
@ -791,7 +791,7 @@ and inode, but a different directory.
.I copied
Files copied on the same or a different disk. Note that if
they are truly moved to a different disk, they will also be
counted in \[dq]removed\[dq].
counted in \`removed\`.
They are identified by having the same name, size, and
timestamp. If the sub\-second timestamp is zero,
the full path must match, not just the name.
@ -802,7 +802,7 @@ These are usually files restored after being deleted.
.PD
.RE
.PP
If a \[dq]sync\[dq] is required, the process return code is 2, instead of the
If a \`sync\` is required, the process return code is 2, instead of the
default 0. The return code 1 is used for a generic error condition.
.PP
Nothing is modified.
@ -813,7 +813,7 @@ data is updated.
.PP
You can stop this process at any time by pressing Ctrl+C,
without losing the work already done.
At the next run, the \[dq]sync\[dq] process will resume where
At the next run, the \`sync\` process will resume where
it was interrupted.
.PP
If silent or input/output errors are found during the process,
@ -828,7 +828,7 @@ same inode, the parity is not recomputed.
If the file is moved to another disk, the parity is recomputed,
but the previously computed hash information is retained.
.PP
The \[dq]content\[dq] and \[dq]parity\[dq] files are modified if necessary.
The \`content\` and \`parity\` files are modified if necessary.
The files in the array are NOT modified.
.SS scrub
Scrubs the array, checking for silent or input/output errors in data
@ -850,50 +850,50 @@ If you specify a percentage amount, you can also use the \-o, \-\-older\-than
option to define how old the block should be.
The oldest blocks are scrubbed first, ensuring an optimal check.
If you want to scrub only the just\-synced blocks not yet scrubbed,
use the \[dq]\-p new\[dq] option.
use the \`\-p new\` option.
.PP
To get details of the scrub status, use the \[dq]status\[dq] command.
To get details of the scrub status, use the \`status\` command.
.PP
For any silent or input/output error found, the corresponding blocks
are marked as bad in the \[dq]content\[dq] file.
These bad blocks are listed in \[dq]status\[dq] and can be fixed with \[dq]fix \-e\[dq].
are marked as bad in the \`content\` file.
These bad blocks are listed in \`status\` and can be fixed with \`fix \-e\`.
After the fix, at the next scrub, they will be rechecked, and if found
corrected, the bad mark will be removed.
To scrub only the bad blocks, you can use the \[dq]scrub \-p bad\[dq] command.
To scrub only the bad blocks, you can use the \`scrub \-p bad\` command.
.PP
It\'s recommended to run \[dq]scrub\[dq] only on a synced array to avoid
It\'s recommended to run \`scrub\` only on a synced array to avoid
reported errors caused by unsynced data. These errors are recognized
as not being silent errors, and the blocks are not marked as bad,
but such errors are reported in the output of the command.
.PP
The \[dq]content\[dq] file is modified to update the time of the last check
The \`content\` file is modified to update the time of the last check
for each block and to mark bad blocks.
The \[dq]parity\[dq] files are NOT modified.
The \`parity\` files are NOT modified.
The files in the array are NOT modified.
.SS fix
Fixes all the files and the parity data.
.PP
All files and parity data are compared with the snapshot
state saved in the last \[dq]sync\[dq].
state saved in the last \`sync\`.
If a difference is found, it is reverted to the stored snapshot.
.PP
WARNING! The \[dq]fix\[dq] command does not differentiate between errors and
WARNING! The \`fix\` command does not differentiate between errors and
intentional modifications. It unconditionally reverts the file state
to the last \[dq]sync\[dq].
to the last \`sync\`.
.PP
If no other option is specified, the entire array is processed.
Use the filter options to select a subset of files or disks to operate on.
.PP
To fix only the blocks marked bad during \[dq]sync\[dq] and \[dq]scrub\[dq],
To fix only the blocks marked bad during \`sync\` and \`scrub\`,
use the \-e, \-\-filter\-error option.
Unlike other filter options, this one applies fixes only to files that are
unchanged since the latest \[dq]sync\[dq].
unchanged since the latest \`sync\`.
.PP
SnapRAID renames all files that cannot be fixed by adding the
\[dq].unrecoverable\[dq] extension.
\`.unrecoverable\` extension.
.PP
Before fixing, the entire array is scanned to find any files moved
since the last \[dq]sync\[dq] operation.
since the last \`sync\` operation.
These files are identified by their timestamp, ignoring their name
and directory, and are used in the recovery process if necessary.
If you moved some of them outside the array, you can use the \-i, \-\-import
@ -901,18 +901,18 @@ option to specify additional directories to scan.
.PP
Files are identified only by path, not by inode.
.PP
The \[dq]content\[dq] file is NOT modified.
The \[dq]parity\[dq] files are modified if necessary.
The \`content\` file is NOT modified.
The \`parity\` files are modified if necessary.
The files in the array are modified if necessary.
.SS check
Verifies all the files and the parity data.
.PP
It works like \[dq]fix\[dq], but it only simulates a recovery and no changes
It works like \`fix\`, but it only simulates a recovery and no changes
are written to the array.
.PP
This command is primarily intended for manual verification,
such as after a recovery process or in other special conditions.
For periodic and scheduled checks, use \[dq]scrub\[dq].
For periodic and scheduled checks, use \`scrub\`.
.PP
If you use the \-a, \-\-audit\-only option, only the file
data is checked, and the parity data is ignored for a
@ -923,7 +923,7 @@ Files are identified only by path, not by inode.
Nothing is modified.
.SS list
Lists all the files contained in the array at the time of the
last \[dq]sync\[dq].
last \`sync\`.
.PP
With \-v or \-\-verbose, the subsecond time is also shown.
.PP
@ -936,7 +936,7 @@ precomputed hashes are used.
Nothing is modified.
.SS pool
Creates or updates a virtual view of all
the files in your disk array in the \[dq]pooling\[dq] directory.
the files in your disk array in the \`pooling\` directory.
.PP
The files are not copied but linked using
symbolic links.
@ -988,89 +988,89 @@ If you are already using the optimal hash, this command
does nothing and informs you that no action is needed.
.PP
The rehash is not performed immediately but takes place
progressively during \[dq]sync\[dq] and \[dq]scrub\[dq].
progressively during \`sync\` and \`scrub\`.
.PP
You can check the rehash state using \[dq]status\[dq].
You can check the rehash state using \`status\`.
.PP
During the rehash, SnapRAID maintains full functionality,
with the only exception that \[dq]dup\[dq] cannot detect duplicated
with the only exception that \`dup\` cannot detect duplicated
files using a different hash.
.SH OPTIONS
SnapRAID provides the following options:
.TP
.B \-c, \-\-conf CONFIG
Selects the configuration file to use. If not specified, in Unix
it uses the file \[dq]/usr/local/etc/snapraid.conf\[dq] if it exists,
otherwise \[dq]/etc/snapraid.conf\[dq].
In Windows, it uses the file \[dq]snapraid.conf\[dq] in the same
directory as \[dq]snapraid.exe\[dq].
it uses the file \`/usr/local/etc/snapraid.conf\` if it exists,
otherwise \`/etc/snapraid.conf\`.
In Windows, it uses the file \`snapraid.conf\` in the same
directory as \`snapraid.exe\`.
.TP
.B \-f, \-\-filter PATTERN
Filters the files to process in \[dq]check\[dq] and \[dq]fix\[dq].
Filters the files to process in \`check\` and \`fix\`.
Only the files matching the specified pattern are processed.
This option can be used multiple times.
See the PATTERN section for more details on
pattern specifications.
In Unix, ensure globbing characters are quoted if used.
This option can be used only with \[dq]check\[dq] and \[dq]fix\[dq].
It cannot be used with \[dq]sync\[dq] and \[dq]scrub\[dq], as they always
This option can be used only with \`check\` and \`fix\`.
It cannot be used with \`sync\` and \`scrub\`, as they always
process the entire array.
.TP
.B \-d, \-\-filter\-disk NAME
Filters the disks to process in \[dq]check\[dq], \[dq]fix\[dq], \[dq]up\[dq], and \[dq]down\[dq].
Filters the disks to process in \`check\`, \`fix\`, \`up\`, and \`down\`.
You must specify a disk name as defined in the configuration
file.
You can also specify parity disks with the names: \[dq]parity\[dq], \[dq]2\-parity\[dq],
\[dq]3\-parity\[dq], etc., to limit operations to a specific parity disk.
You can also specify parity disks with the names: \`parity\`, \`2\-parity\`,
\`3\-parity\`, etc., to limit operations to a specific parity disk.
If you combine multiple \-\-filter, \-\-filter\-disk, and \-\-filter\-missing options,
only files matching all the filters are selected.
This option can be used multiple times.
This option can be used only with \[dq]check\[dq], \[dq]fix\[dq], \[dq]up\[dq], and \[dq]down\[dq].
It cannot be used with \[dq]sync\[dq] and \[dq]scrub\[dq], as they always
This option can be used only with \`check\`, \`fix\`, \`up\`, and \`down\`.
It cannot be used with \`sync\` and \`scrub\`, as they always
process the entire array.
.TP
.B \-m, \-\-filter\-missing
Filters the files to process in \[dq]check\[dq] and \[dq]fix\[dq].
Filters the files to process in \`check\` and \`fix\`.
Only the files missing or deleted from the array are processed.
When used with \[dq]fix\[dq], this acts as an \[dq]undelete\[dq] command.
When used with \`fix\`, this acts as an \`undelete\` command.
If you combine multiple \-\-filter, \-\-filter\-disk, and \-\-filter\-missing options,
only files matching all the filters are selected.
This option can be used only with \[dq]check\[dq] and \[dq]fix\[dq].
It cannot be used with \[dq]sync\[dq] and \[dq]scrub\[dq], as they always
This option can be used only with \`check\` and \`fix\`.
It cannot be used with \`sync\` and \`scrub\`, as they always
process the entire array.
.TP
.B \-e, \-\-filter\-error
Processes the files with errors in \[dq]check\[dq] and \[dq]fix\[dq].
Processes the files with errors in \`check\` and \`fix\`.
It processes only files that have blocks marked with silent
or input/output errors during \[dq]sync\[dq] and \[dq]scrub\[dq], as listed in \[dq]status\[dq].
This option can be used only with \[dq]check\[dq] and \[dq]fix\[dq].
or input/output errors during \`sync\` and \`scrub\`, as listed in \`status\`.
This option can be used only with \`check\` and \`fix\`.
.TP
.B \-p, \-\-plan PERC|bad|new|full
Selects the scrub plan. If PERC is a numeric value from 0 to 100,
it is interpreted as the percentage of blocks to scrub.
Instead of a percentage, you can specify a plan:
\[dq]bad\[dq] scrubs bad blocks, \[dq]new\[dq] scrubs blocks not yet scrubbed,
and \[dq]full\[dq] scrubs everything.
This option can be used only with \[dq]scrub\[dq].
\`bad\` scrubs bad blocks, \`new\` scrubs blocks not yet scrubbed,
and \`full\` scrubs everything.
This option can be used only with \`scrub\`.
.TP
.B \-o, \-\-older\-than DAYS
Selects the oldest part of the array to process in \[dq]scrub\[dq].
Selects the oldest part of the array to process in \`scrub\`.
DAYS is the minimum age in days for a block to be scrubbed;
the default is 10.
Blocks marked as bad are always scrubbed regardless of this option.
This option can be used only with \[dq]scrub\[dq].
This option can be used only with \`scrub\`.
.TP
.B \-a, \-\-audit\-only
In \[dq]check\[dq], verifies the hash of the files without
In \`check\`, verifies the hash of the files without
checking the parity data.
If you are interested only in checking the file data, this
option can significantly speed up the checking process.
This option can be used only with \[dq]check\[dq].
This option can be used only with \`check\`.
.TP
.B \-h, \-\-pre\-hash
In \[dq]sync\[dq], runs a preliminary hashing phase of all new data
In \`sync\`, runs a preliminary hashing phase of all new data
for additional verification before the parity computation.
Usually, in \[dq]sync\[dq], no preliminary hashing is done, and the new
Usually, in \`sync\`, no preliminary hashing is done, and the new
data is hashed just before the parity computation when it is read
for the first time.
This process occurs when the system is under
@ -1078,21 +1078,21 @@ heavy load, with all disks spinning and a busy CPU.
This is an extreme condition for the machine, and if it has a
latent hardware problem, silent errors may go undetected
because the data is not yet hashed.
To avoid this risk, you can enable the \[dq]pre\-hash\[dq] mode to have
To avoid this risk, you can enable the \`pre\-hash\` mode to have
all the data read twice to ensure its integrity.
This option also verifies files moved within the array
to ensure the move operation was successful and, if necessary,
allows you to run a fix operation before proceeding.
This option can be used only with \[dq]sync\[dq].
This option can be used only with \`sync\`.
.TP
.B \-i, \-\-import DIR
Imports from the specified directory any files deleted
from the array after the last \[dq]sync\[dq].
If you still have such files, they can be used by \[dq]check\[dq]
and \[dq]fix\[dq] to improve the recovery process.
from the array after the last \`sync\`.
If you still have such files, they can be used by \`check\`
and \`fix\` to improve the recovery process.
The files are read, including in subdirectories, and are
identified regardless of their name.
This option can be used only with \[dq]check\[dq] and \[dq]fix\[dq].
This option can be used only with \`check\` and \`fix\`.
.TP
.B \-s, \-\-spin\-down\-on\-error
On any error, spins down all managed disks before exiting with
@ -1135,7 +1135,7 @@ This allows you to easily detect when, after a system crash,
some accessed files were truncated.
This is a possible condition in Linux with the ext3/ext4
file systems.
This option can be used only with \[dq]sync\[dq].
This option can be used only with \`sync\`.
.TP
.B \-E, \-\-force\-empty
Forces the insecure operation of syncing a disk with all
@ -1145,7 +1145,7 @@ on the disk are missing or rewritten, it stops proceeding
unless you specify this option.
This allows you to easily detect when a data file system is not
mounted.
This option can be used only with \[dq]sync\[dq].
This option can be used only with \`sync\`.
.TP
.B \-U, \-\-force\-uuid
Forces the insecure operation of syncing, checking, and fixing
@ -1157,8 +1157,8 @@ wrong mount points.
It is, however, allowed to have a single UUID change with
single parity, and more with multiple parity, because this is
the normal case when replacing disks after a recovery.
This option can be used only with \[dq]sync\[dq], \[dq]check\[dq], or
\[dq]fix\[dq].
This option can be used only with \`sync\`, \`check\`, or
\`fix\`.
.TP
.B \-D, \-\-force\-device
Forces the insecure operation of fixing with inaccessible disks
@ -1167,10 +1167,10 @@ For example, if you lost two data disks and have a spare disk to recover
only the first one, you can ignore the second inaccessible disk.
Or, if you want to recover a disk in the free space left on an
already used disk, sharing the same physical device.
This option can be used only with \[dq]fix\[dq].
This option can be used only with \`fix\`.
.TP
.B \-N, \-\-force\-nocopy
In \[dq]sync\[dq], \[dq]check\[dq], and \[dq]fix\[dq], disables the copy detection heuristic.
In \`sync\`, \`check\`, and \`fix\`, disables the copy detection heuristic.
Without this option, SnapRAID assumes that files with the same
attributes, such as name, size, and timestamp, are copies with the
same data.
@ -1180,27 +1180,27 @@ to detect silent errors or to recover missing files.
In some rare cases, this behavior may result in false positives
or a slow process due to many hash verifications, and this
option allows you to resolve such issues.
This option can be used only with \[dq]sync\[dq], \[dq]check\[dq], and \[dq]fix\[dq].
This option can be used only with \`sync\`, \`check\`, and \`fix\`.
.TP
.B \-F, \-\-force\-full
In \[dq]sync\[dq], forces a full recomputation of the parity.
In \`sync\`, forces a full recomputation of the parity.
This option can be used when you add a new parity level or if
you reverted to an old content file using more recent parity data.
Instead of recreating the parity from scratch, this allows
you to reuse the hashes present in the content file to validate data
and maintain data protection during the \[dq]sync\[dq] process using
and maintain data protection during the \`sync\` process using
the existing parity data.
This option can be used only with \[dq]sync\[dq].
This option can be used only with \`sync\`.
.TP
.B \-R, \-\-force\-realloc
In \[dq]sync\[dq], forces a full reallocation of files and rebuild of the parity.
In \`sync\`, forces a full reallocation of files and rebuild of the parity.
This option can be used to completely reallocate all files,
removing fragmentation, while reusing the hashes present in the content
file to validate data.
This option can be used only with \[dq]sync\[dq].
This option can be used only with \`sync\`.
WARNING! This option is for experts only, and it is highly
recommended not to use it.
You DO NOT have data protection during the \[dq]sync\[dq] operation.
You DO NOT have data protection during the \`sync\` operation.
.TP
.B \-l, \-\-log FILE
Writes a detailed log to the specified file.
@ -1214,19 +1214,19 @@ in append mode. Occurrences of \'%D\' and \'%T\' in the name are
replaced with the date and time in the format YYYYMMDD and
HHMMSS. In Windows batch files, you must double
the \'%\' character, e.g., result\-%%D.log. To use \'>>\', you must
enclose the name in quotes, e.g., \[dq]>>result.log\[dq].
enclose the name in quotes, e.g., \`\[dq]>>result.log\[dq]\`.
To output the log to standard output or standard error,
you can use \[dq]>&1\[dq] and \[dq]>&2\[dq], respectively.
you can use \`\[dq]>&1\[dq]\` and \`\[dq]>&2\[dq]\`, respectively.
See the snapraid_log.txt file or man page for log tag descriptions.
.TP
.B \-L, \-\-error\-limit NUMBER
Sets a new error limit before stopping execution.
By default, SnapRAID stops if it encounters more than 100
input/output errors, indicating that a disk is likely failing.
This option affects \[dq]sync\[dq] and \[dq]scrub\[dq], which are allowed
This option affects \`sync\` and \`scrub\`, which are allowed
to continue after the first set of disk errors to try
to complete their operations.
However, \[dq]check\[dq] and \[dq]fix\[dq] always stop at the first error.
However, \`check\` and \`fix\` always stop at the first error.
.TP
.B \-S, \-\-start BLKSTART
Starts processing from the specified
@ -1270,10 +1270,10 @@ Prints the program version.
SnapRAID requires a configuration file to know where your disk array
is located and where to store the parity information.
.PP
In Unix, it uses the file \[dq]/usr/local/etc/snapraid.conf\[dq] if it exists,
otherwise \[dq]/etc/snapraid.conf\[dq].
In Windows, it uses the file \[dq]snapraid.conf\[dq] in the same
directory as \[dq]snapraid.exe\[dq].
In Unix, it uses the file \`/usr/local/etc/snapraid.conf\` if it exists,
otherwise \`/etc/snapraid.conf\`.
In Windows, it uses the file \`snapraid.conf\` in the same
directory as \`snapraid.exe\`.
.PP
It must contain the following options (case\-sensitive):
.SS parity FILE [,FILE] ...
@ -1344,7 +1344,7 @@ files present in your disk array.
It can be placed on a disk used for data, parity, or
any other disk available.
If you use a data disk, this file is automatically excluded
from the \[dq]sync\[dq] process.
from the \`sync\` process.
.PP
This option is mandatory and can be used multiple times to save
multiple copies of the same file.
@ -1368,18 +1368,18 @@ In the case of renaming, the association is done using the stored
UUID of the disks.
.SS nohidden
Excludes all hidden files and directories.
In Unix, hidden files are those starting with \[dq].\[dq].
In Unix, hidden files are those starting with \`.\`.
In Windows, they are those with the hidden attribute.
.SS exclude/include PATTERN
Defines the file or directory patterns to exclude or include
in the sync process.
All patterns are processed in the specified order.
.PP
If the first pattern that matches is an \[dq]exclude\[dq] one, the file
is excluded. If it is an \[dq]include\[dq] one, the file is included.
If the first pattern that matches is an \`exclude\` one, the file
is excluded. If it is an \`include\` one, the file is included.
If no pattern matches, the file is excluded if the last pattern
specified is an \[dq]include\[dq], or included if the last pattern
specified is an \[dq]exclude\[dq].
specified is an \`include\`, or included if the last pattern
specified is an \`exclude\`.
.PP
See the PATTERN section for more details on pattern
specifications.
@ -1411,7 +1411,7 @@ wasted for each file. For example, with 100,000 files and a 256 KiB
block size, you will waste 12.8 GB of parity, which may result
in 12.8 GB less space available on the data disk.
.PP
You can check the amount of wasted space on each disk using \[dq]status\[dq].
You can check the amount of wasted space on each disk using \`status\`.
This is the amount of space you must leave free on the data
disks or use for files not included in the array.
If this value is negative, it means you are close to filling
@ -1480,7 +1480,7 @@ RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB
.SS autosave SIZE_IN_GIGABYTES
Automatically saves the state when syncing or scrubbing after the
specified amount of GB processed.
This option is useful to avoid restarting long \[dq]sync\[dq]
This option is useful to avoid restarting long \`sync\`
commands from scratch if interrupted by a machine crash or any other event.
.SS temp_limit TEMPERATURE_CELSIUS
Sets the maximum allowed disk temperature in Celsius. When specified,
@ -1488,7 +1488,7 @@ SnapRAID periodically checks the temperature of all disks using the
smartctl tool. The current disk temperatures are displayed while
SnapRAID is operating. If any disk exceeds this limit, all operations
stop, and the disks are spun down (put into standby) for the duration
defined by the \[dq]temp_sleep\[dq] option. After the sleep period, operations
defined by the \`temp_sleep\` option. After the sleep period, operations
resume, potentially pausing again if the temperature limit is reached
once more.
.PP
@ -1516,7 +1516,7 @@ reached. During this period, the disks remain spun down. The default
is 5 minutes.
.SS pool DIR
Defines the pooling directory where the virtual view of the disk
array is created using the \[dq]pool\[dq] command.
array is created using the \`pool\` command.
.PP
The directory must already exist.
.SS share UNC_DIR
@ -1528,7 +1528,7 @@ Without this option, the symbolic links generated use only local paths,
which does not allow sharing the pool directory over the network.
.PP
The symbolic links are formed using the specified UNC path, adding the
disk name as specified in the \[dq]data\[dq] option, and finally adding the
disk name as specified in the \`data\` option, and finally adding the
file directory and name.
.PP
This option is required only for Windows.
@ -1538,13 +1538,13 @@ each disk. This may be required for RAID controllers and some USB
disks that cannot be auto\-detected. The %s placeholder is replaced by
the device name, but it is optional for fixed devices like RAID controllers.
.PP
DISK is the same disk name specified in the \[dq]data\[dq] option.
PARITY is one of the parity names: \[dq]parity\[dq], \[dq]2\-parity\[dq], \[dq]3\-parity\[dq],
\[dq]4\-parity\[dq], \[dq]5\-parity\[dq], \[dq]6\-parity\[dq], or \[dq]z\-parity\[dq].
DISK is the same disk name specified in the \`data\` option.
PARITY is one of the parity names: \`parity\`, \`2\-parity\`, \`3\-parity\`,
\`4\-parity\`, \`5\-parity\`, \`6\-parity\`, or \`z\-parity\`.
.PP
In the specified OPTIONS, the \[dq]%s\[dq] string is replaced by the
In the specified OPTIONS, the \`%s\` string is replaced by the
device name. For RAID controllers, the device is
likely fixed, and you may not need to use \[dq]%s\[dq].
likely fixed, and you may not need to use \`%s\`.
.PP
Refer to the smartmontools documentation for possible options:
.PP
@ -1570,12 +1570,12 @@ Ignores the specified SMART attribute when computing the probability
of disk failure. This option is useful if a disk reports unusual or
misleading values for a particular attribute.
.PP
DISK is the same disk name specified in the \[dq]data\[dq] option.
PARITY is one of the parity names: \[dq]parity\[dq], \[dq]2\-parity\[dq], \[dq]3\-parity\[dq],
\[dq]4\-parity\[dq], \[dq]5\-parity\[dq], \[dq]6\-parity\[dq], or \[dq]z\-parity\[dq].
DISK is the same disk name specified in the \`data\` option.
PARITY is one of the parity names: \`parity\`, \`2\-parity\`, \`3\-parity\`,
\`4\-parity\`, \`5\-parity\`, \`6\-parity\`, or \`z\-parity\`.
The special value * can be used to ignore the attribute on all disks.
.PP
For example, to ignore the \[dq]Current Pending Sector Count\[dq] attribute on
For example, to ignore the \`Current Pending Sector Count\` attribute on
all disks:
.PP
.RS 4
@ -1743,11 +1743,11 @@ character to avoid having it interpreted by the command shell.
.PP
In the configuration file, you can use different strategies to filter
the files to process.
The simplest approach is to use only \[dq]exclude\[dq] rules to remove all the
The simplest approach is to use only \`exclude\` rules to remove all the
files and directories you do not want to process. For example:
.PP
.RS 4
# Excludes any file named \[dq]*.unrecoverable\[dq]
# Excludes any file named \`*.unrecoverable\`
.PD 0
.PP
.PD
@ -1755,7 +1755,7 @@ exclude *.unrecoverable
.PD 0
.PP
.PD
# Excludes the root directory \[dq]/lost+found\[dq]
# Excludes the root directory \`/lost+found\`
.PD 0
.PP
.PD
@ -1763,7 +1763,7 @@ exclude /lost+found/
.PD 0
.PP
.PD
# Excludes any subdirectory named \[dq]tmp\[dq]
# Excludes any subdirectory named \`tmp\`
.PD 0
.PP
.PD
@ -1773,7 +1773,7 @@ exclude tmp/
.RE
.PP
The opposite approach is to define only the files you want to process, using
only \[dq]include\[dq] rules. For example:
only \`include\` rules. For example:
.PP
.RS 4
# Includes only some directories
@ -1793,14 +1793,14 @@ include /pictures/
.PD
.RE
.PP
The final approach is to mix \[dq]exclude\[dq] and \[dq]include\[dq] rules. In this case,
The final approach is to mix \`exclude\` and \`include\` rules. In this case,
the order of rules is important. Earlier rules take
precedence over later ones.
To simplify, you can list all the \[dq]exclude\[dq] rules first and then
all the \[dq]include\[dq] rules. For example:
To simplify, you can list all the \`exclude\` rules first and then
all the \`include\` rules. For example:
.PP
.RS 4
# Excludes any file named \[dq]*.unrecoverable\[dq]
# Excludes any file named \`*.unrecoverable\`
.PD 0
.PP
.PD
@ -1808,7 +1808,7 @@ exclude *.unrecoverable
.PD 0
.PP
.PD
# Excludes any subdirectory named \[dq]tmp\[dq]
# Excludes any subdirectory named \`tmp\`
.PD 0
.PP
.PD
@ -1833,7 +1833,7 @@ include /pictures/
.PD
.RE
.PP
On the command line, using the \-f option, you can only use \[dq]include\[dq]
On the command line, using the \-f option, you can only use \`include\`
patterns. For example:
.PP
.RS 4
@ -1858,17 +1858,17 @@ SnapRAID stores the list and checksums of your files in the content file.
It is a binary file that lists all the files present in your disk array,
along with all the checksums to verify their integrity.
.PP
This file is read and written by the \[dq]sync\[dq] and \[dq]scrub\[dq] commands and
read by the \[dq]fix\[dq], \[dq]check\[dq], and \[dq]status\[dq] commands.
This file is read and written by the \`sync\` and \`scrub\` commands and
read by the \`fix\`, \`check\`, and \`status\` commands.
.SH PARITY
SnapRAID stores the parity information of your array in the parity
files.
.PP
These are binary files containing the computed parity of all the
blocks defined in the \[dq]content\[dq] file.
blocks defined in the \`content\` file.
.PP
These files are read and written by the \[dq]sync\[dq] and \[dq]fix\[dq] commands and
only read by the \[dq]scrub\[dq] and \[dq]check\[dq] commands.
These files are read and written by the \`sync\` and \`fix\` commands and
only read by the \`scrub\` and \`check\` commands.
.SH ENCODING
SnapRAID in Unix ignores any encoding. It reads and stores the
file names with the same encoding used by the file system.
@ -1877,8 +1877,8 @@ In Windows, all names read from the file system are converted and
processed in UTF\-8 format.
.PP
To have file names printed correctly, you must set the Windows
console to UTF\-8 mode with the command \[dq]chcp 65001\[dq] and use
a TrueType font like \[dq]Lucida Console\[dq] as the console font.
console to UTF\-8 mode with the command \`chcp 65001\` and use
a TrueType font like \`Lucida Console\` as the console font.
This affects only the printed file names; if you
redirect the console output to a file, the resulting file is always
in UTF\-8 format.

View file

@ -83,7 +83,7 @@ Limitations
Getting Started
To use SnapRAID, you need to first select one disk in your disk array
to dedicate to "parity" information. With one disk for parity, you
to dedicate to `parity` information. With one disk for parity, you
will be able to recover from a single disk failure, similar to RAID5.
If you want to recover from more disk failures, similar to RAID6,
@ -94,20 +94,20 @@ Getting Started
as the parity information may grow to the size of the largest data
disk in the array.
These disks will be dedicated to storing the "parity" files.
These disks will be dedicated to storing the `parity` files.
You should not store your data on them.
Then, you must define the "data" disks that you want to protect
Then, you must define the `data` disks that you want to protect
with SnapRAID. The protection is more effective if these disks
contain data that rarely changes. For this reason, it's better to
NOT include the Windows C:\ disk or the Unix /home, /var, and /tmp
directories.
The list of files is saved in the "content" files, usually
The list of files is saved in the `content` files, usually
stored on the data, parity, or boot disks.
This file contains the details of your backup, including all the
checksums to verify its integrity.
The "content" file is stored in multiple copies, and each copy must
The `content` file is stored in multiple copies, and each copy must
be on a different disk to ensure that, even in case of multiple
disk failures, at least one copy is available.
@ -146,7 +146,7 @@ Getting Started
:https://www.google.com/search?q=Windows+mount+point
At this point, you are ready to run the "sync" command to build the
At this point, you are ready to run the `sync` command to build the
parity information.
:snapraid sync
@ -161,16 +161,16 @@ Getting Started
When this command completes, your data is SAFE.
Now you can start using your array as you like and periodically
update the parity information by running the "sync" command.
update the parity information by running the `sync` command.
Scrubbing
To periodically check the data and parity for errors, you can
run the "scrub" command.
run the `scrub` command.
:snapraid scrub
This command compares the data in your array with the hash computed
during the "sync" command to verify integrity.
during the `sync` command to verify integrity.
Each run of the command checks approximately 8% of the array, excluding data
already scrubbed in the previous 10 days.
@ -181,24 +181,24 @@ Getting Started
:snapraid -p 5 -o 20 scrub
If silent or input/output errors are found during the process,
the corresponding blocks are marked as bad in the "content" file
and listed in the "status" command.
the corresponding blocks are marked as bad in the `content` file
and listed in the `status` command.
:snapraid status
To fix them, you can use the "fix" command, filtering for bad blocks with
To fix them, you can use the `fix` command, filtering for bad blocks with
the -e, --filter-error option:
:snapraid -e fix
At the next "scrub," the errors will disappear from the "status" report
At the next `scrub`, the errors will disappear from the `status` report
if they are truly fixed. To make it faster, you can use -p bad to scrub
only blocks marked as bad.
:snapraid -p bad scrub
Running "scrub" on an unsynced array may report errors caused by
removed or modified files. These errors are reported in the "scrub"
Running `scrub` on an unsynced array may report errors caused by
removed or modified files. These errors are reported in the `scrub`
output, but the related blocks are not marked as bad.
Pooling
@ -212,10 +212,10 @@ Getting Started
or custom NAS configurations.
To have all the files in your array shown in the same directory tree,
you can enable the "pooling" feature. It creates a read-only virtual
you can enable the `pooling` feature. It creates a read-only virtual
view of all the files in your array using symbolic links.
You can configure the "pooling" directory in the configuration file with:
You can configure the `pooling` directory in the configuration file with:
:pool /pool
@ -223,7 +223,7 @@ Getting Started
:pool C:\pool
and then run the "pool" command to create or update the virtual view.
and then run the `pool` command to create or update the virtual view.
:snapraid pool
@ -247,10 +247,10 @@ Getting Started
resolve them remotely. To enable this, besides sharing the pool directory,
you must also share all the disks independently, using the disk names
defined in the configuration file as share points. You must also specify
in the "share" option of the configuration file the Windows UNC path that
in the `share` option of the configuration file the Windows UNC path that
remote clients need to use to access these shared disks.
For example, operating from a server named "darkstar", you can use
For example, operating from a server named `darkstar`, you can use
the options:
:data d1 F:\array\
@ -309,11 +309,11 @@ Getting Started
You need some space to recover, ideally on additional
spare disks, but an external USB disk or remote disk will suffice.
Modify the SnapRAID configuration file to make the "data" or "parity"
Modify the SnapRAID configuration file to make the `data` or `parity`
option of the failed disk point to a location with enough empty
space to recover the files.
For example, if disk "d1" has failed, change from:
For example, if disk `d1` has failed, change from:
:data d1 /mnt/disk1/
@ -321,7 +321,7 @@ Getting Started
:data d1 /mnt/new_spare_disk/
If the disk to recover is a parity disk, update the appropriate "parity"
If the disk to recover is a parity disk, update the appropriate `parity`
option.
If you have multiple failed disks, update all their configuration options.
@ -330,8 +330,8 @@ Getting Started
:snapraid -d NAME -l fix.log fix
Where NAME is the name of the disk, such as "d1" in our previous example.
If the disk to recover is a parity disk, use the names "parity", "2-parity",
Where NAME is the name of the disk, such as `d1` in our previous example.
If the disk to recover is a parity disk, use the names `parity`, `2-parity`,
etc.
If you have multiple failed disks, use multiple -d options to specify all
of them.
@ -342,32 +342,32 @@ Getting Started
Run it from a disk with sufficient free space.
Now you have recovered all that is recoverable. If some files are partially
or totally unrecoverable, they will be renamed by adding the ".unrecoverable"
or totally unrecoverable, they will be renamed by adding the `.unrecoverable`
extension.
You can find a detailed list of all unrecoverable blocks in the fix.log file
by checking all lines starting with "unrecoverable:".
by checking all lines starting with `unrecoverable:`.
If you are not satisfied with the recovery, you can retry it as many
times as you wish.
For example, if you have removed files from the array after the last
"sync", this may result in some files not being recovered.
In this case, you can retry the "fix" using the -i, --import option,
`sync`, this may result in some files not being recovered.
In this case, you can retry the `fix` using the -i, --import option,
specifying where these files are now to include them again in the
recovery process.
If you are satisfied with the recovery, you can proceed further,
but note that after syncing, you cannot retry the "fix" command
but note that after syncing, you cannot retry the `fix` command
anymore!
STEP 3 -> Check
As a cautious check, you can now run a "check" command to ensure that
As a cautious check, you can now run a `check` command to ensure that
everything is correct on the recovered disk.
:snapraid -d NAME -a check
Where NAME is the name of the disk, such as "d1" in our previous example.
Where NAME is the name of the disk, such as `d1` in our previous example.
The -d and -a options tell SnapRAID to check only the specified disk
and ignore all parity data.
@ -376,7 +376,7 @@ Getting Started
you can skip it.
STEP 4 -> Sync
Run the "sync" command to resynchronize the array with the new disk.
Run the `sync` command to resynchronize the array with the new disk.
:snapraid sync
@ -385,11 +385,11 @@ Getting Started
Commands
SnapRAID provides a few simple commands that allow you to:
* Print the status of the array -> "status"
* Control the disks -> "smart", "probe", "up", "down"
* Make a backup/snapshot -> "sync"
* Periodically check data -> "scrub"
* Restore the last backup/snapshot -> "fix".
* Print the status of the array -> `status`
* Control the disks -> `smart`, `probe`, `up`, `down`
* Make a backup/snapshot -> `sync`
* Periodically check data -> `scrub`
* Restore the last backup/snapshot -> `fix`.
Commands must be written in lowercase.
@ -401,10 +401,10 @@ Commands
errors encountered while scrubbing.
The information presented refers to the latest time you
ran "sync". Later modifications are not taken into account.
ran `sync`. Later modifications are not taken into account.
If bad blocks were detected, their block numbers are listed.
To fix them, you can use the "fix -e" command.
To fix them, you can use the `fix -e` command.
It also shows a graph representing the last time each block
was scrubbed or synced. Scrubbed blocks are shown with '*',
@ -424,7 +424,7 @@ Commands
:https://www.backblaze.com/hard-drive-test-data.html
If SMART reports that a disk is failing, "FAIL" or "PREFAIL" is printed
If SMART reports that a disk is failing, `FAIL` or `PREFAIL` is printed
for that disk, and SnapRAID returns with an error.
In this case, immediate replacement of the disk is highly recommended.
@ -438,11 +438,11 @@ Commands
is provided. This analysis can help you decide if you need more
or less parity.
This command uses the "smartctl" tool and is equivalent to running
"smartctl -a" on all devices.
This command uses the `smartctl` tool and is equivalent to running
`smartctl -a` on all devices.
If your devices are not auto-detected correctly, you can specify
a custom command using the "smartctl" option in the configuration
a custom command using the `smartctl` option in the configuration
file.
Nothing is modified.
@ -450,14 +450,14 @@ Commands
probe
Prints the POWER state of all disks in the system.
"Standby" means the disk is not spinning. "Active" means
`Standby` means the disk is not spinning. `Active` means
the disk is spinning.
This command uses the "smartctl" tool and is equivalent to running
"smartctl -n standby -i" on all devices.
This command uses the `smartctl` tool and is equivalent to running
`smartctl -n standby -i` on all devices.
If your devices are not auto-detected correctly, you can specify
a custom command using the "smartctl" option in the configuration
a custom command using the `smartctl` option in the configuration
file.
Nothing is modified.
@ -475,20 +475,20 @@ Commands
down
Spins down all the disks of the array.
This command uses the "smartctl" tool and is equivalent to running
"smartctl -s standby,now" on all devices.
This command uses the `smartctl` tool and is equivalent to running
`smartctl -s standby,now` on all devices.
You can spin down only specific disks using the -d, --filter-disk
option.
To automatically spin down on error, you can use the -s, --spin-down-on-error
option with any other command, which is equivalent to running "down" manually
option with any other command, which is equivalent to running `down` manually
when an error occurs.
Nothing is modified.
diff
Lists all the files modified since the last "sync" that need to have
Lists all the files modified since the last `sync` that need to have
their parity data recomputed.
This command doesn't check the file data, but only the file timestamp,
@ -506,14 +506,14 @@ Commands
and inode, but a different directory.
copied - Files copied on the same or a different disk. Note that if
they are truly moved to a different disk, they will also be
counted in "removed".
counted in `removed`.
They are identified by having the same name, size, and
timestamp. If the sub-second timestamp is zero,
the full path must match, not just the name.
restored - Files with a different inode but matching name, size, and timestamp.
These are usually files restored after being deleted.
If a "sync" is required, the process return code is 2, instead of the
If a `sync` is required, the process return code is 2, instead of the
default 0. The return code 1 is used for a generic error condition.
Nothing is modified.
@ -525,7 +525,7 @@ Commands
You can stop this process at any time by pressing Ctrl+C,
without losing the work already done.
At the next run, the "sync" process will resume where
At the next run, the `sync` process will resume where
it was interrupted.
If silent or input/output errors are found during the process,
@ -540,7 +540,7 @@ Commands
If the file is moved to another disk, the parity is recomputed,
but the previously computed hash information is retained.
The "content" and "parity" files are modified if necessary.
The `content` and `parity` files are modified if necessary.
The files in the array are NOT modified.
scrub
@ -563,51 +563,51 @@ Commands
option to define how old the block should be.
The oldest blocks are scrubbed first, ensuring an optimal check.
If you want to scrub only the just-synced blocks not yet scrubbed,
use the "-p new" option.
use the `-p new` option.
To get details of the scrub status, use the "status" command.
To get details of the scrub status, use the `status` command.
For any silent or input/output error found, the corresponding blocks
are marked as bad in the "content" file.
These bad blocks are listed in "status" and can be fixed with "fix -e".
are marked as bad in the `content` file.
These bad blocks are listed in `status` and can be fixed with `fix -e`.
After the fix, at the next scrub, they will be rechecked, and if found
corrected, the bad mark will be removed.
To scrub only the bad blocks, you can use the "scrub -p bad" command.
To scrub only the bad blocks, you can use the `scrub -p bad` command.
It's recommended to run "scrub" only on a synced array to avoid
It's recommended to run `scrub` only on a synced array to avoid
reported errors caused by unsynced data. These errors are recognized
as not being silent errors, and the blocks are not marked as bad,
but such errors are reported in the output of the command.
The "content" file is modified to update the time of the last check
The `content` file is modified to update the time of the last check
for each block and to mark bad blocks.
The "parity" files are NOT modified.
The `parity` files are NOT modified.
The files in the array are NOT modified.
fix
Fixes all the files and the parity data.
All files and parity data are compared with the snapshot
state saved in the last "sync".
state saved in the last `sync`.
If a difference is found, it is reverted to the stored snapshot.
WARNING! The "fix" command does not differentiate between errors and
WARNING! The `fix` command does not differentiate between errors and
intentional modifications. It unconditionally reverts the file state
to the last "sync".
to the last `sync`.
If no other option is specified, the entire array is processed.
Use the filter options to select a subset of files or disks to operate on.
To fix only the blocks marked bad during "sync" and "scrub",
To fix only the blocks marked bad during `sync` and `scrub`,
use the -e, --filter-error option.
Unlike other filter options, this one applies fixes only to files that are
unchanged since the latest "sync".
unchanged since the latest `sync`.
SnapRAID renames all files that cannot be fixed by adding the
".unrecoverable" extension.
`.unrecoverable` extension.
Before fixing, the entire array is scanned to find any files moved
since the last "sync" operation.
since the last `sync` operation.
These files are identified by their timestamp, ignoring their name
and directory, and are used in the recovery process if necessary.
If you moved some of them outside the array, you can use the -i, --import
@ -615,19 +615,19 @@ Commands
Files are identified only by path, not by inode.
The "content" file is NOT modified.
The "parity" files are modified if necessary.
The `content` file is NOT modified.
The `parity` files are modified if necessary.
The files in the array are modified if necessary.
check
Verifies all the files and the parity data.
It works like "fix", but it only simulates a recovery and no changes
It works like `fix`, but it only simulates a recovery and no changes
are written to the array.
This command is primarily intended for manual verification,
such as after a recovery process or in other special conditions.
For periodic and scheduled checks, use "scrub".
For periodic and scheduled checks, use `scrub`.
If you use the -a, --audit-only option, only the file
data is checked, and the parity data is ignored for a
@ -639,7 +639,7 @@ Commands
list
Lists all the files contained in the array at the time of the
last "sync".
last `sync`.
With -v or --verbose, the subsecond time is also shown.
@ -654,7 +654,7 @@ Commands
pool
Creates or updates a virtual view of all
the files in your disk array in the "pooling" directory.
the files in your disk array in the `pooling` directory.
The files are not copied but linked using
symbolic links.
@ -709,12 +709,12 @@ Commands
does nothing and informs you that no action is needed.
The rehash is not performed immediately but takes place
progressively during "sync" and "scrub".
progressively during `sync` and `scrub`.
You can check the rehash state using "status".
You can check the rehash state using `status`.
During the rehash, SnapRAID maintains full functionality,
with the only exception that "dup" cannot detect duplicated
with the only exception that `dup` cannot detect duplicated
files using a different hash.
Options
@ -722,77 +722,77 @@ Options
-c, --conf CONFIG
Selects the configuration file to use. If not specified, in Unix
it uses the file "/usr/local/etc/snapraid.conf" if it exists,
otherwise "/etc/snapraid.conf".
In Windows, it uses the file "snapraid.conf" in the same
directory as "snapraid.exe".
it uses the file `/usr/local/etc/snapraid.conf` if it exists,
otherwise `/etc/snapraid.conf`.
In Windows, it uses the file `snapraid.conf` in the same
directory as `snapraid.exe`.
-f, --filter PATTERN
Filters the files to process in "check" and "fix".
Filters the files to process in `check` and `fix`.
Only the files matching the specified pattern are processed.
This option can be used multiple times.
See the PATTERN section for more details on
pattern specifications.
In Unix, ensure globbing characters are quoted if used.
This option can be used only with "check" and "fix".
It cannot be used with "sync" and "scrub", as they always
This option can be used only with `check` and `fix`.
It cannot be used with `sync` and `scrub`, as they always
process the entire array.
-d, --filter-disk NAME
Filters the disks to process in "check", "fix", "up", and "down".
Filters the disks to process in `check`, `fix`, `up`, and `down`.
You must specify a disk name as defined in the configuration
file.
You can also specify parity disks with the names: "parity", "2-parity",
"3-parity", etc., to limit operations to a specific parity disk.
You can also specify parity disks with the names: `parity`, `2-parity`,
`3-parity`, etc., to limit operations to a specific parity disk.
If you combine multiple --filter, --filter-disk, and --filter-missing options,
only files matching all the filters are selected.
This option can be used multiple times.
This option can be used only with "check", "fix", "up", and "down".
It cannot be used with "sync" and "scrub", as they always
This option can be used only with `check`, `fix`, `up`, and `down`.
It cannot be used with `sync` and `scrub`, as they always
process the entire array.
-m, --filter-missing
Filters the files to process in "check" and "fix".
Filters the files to process in `check` and `fix`.
Only the files missing or deleted from the array are processed.
When used with "fix", this acts as an "undelete" command.
When used with `fix`, this acts as an `undelete` command.
If you combine multiple --filter, --filter-disk, and --filter-missing options,
only files matching all the filters are selected.
This option can be used only with "check" and "fix".
It cannot be used with "sync" and "scrub", as they always
This option can be used only with `check` and `fix`.
It cannot be used with `sync` and `scrub`, as they always
process the entire array.
-e, --filter-error
Processes the files with errors in "check" and "fix".
Processes the files with errors in `check` and `fix`.
It processes only files that have blocks marked with silent
or input/output errors during "sync" and "scrub", as listed in "status".
This option can be used only with "check" and "fix".
or input/output errors during `sync` and `scrub`, as listed in `status`.
This option can be used only with `check` and `fix`.
-p, --plan PERC|bad|new|full
Selects the scrub plan. If PERC is a numeric value from 0 to 100,
it is interpreted as the percentage of blocks to scrub.
Instead of a percentage, you can specify a plan:
"bad" scrubs bad blocks, "new" scrubs blocks not yet scrubbed,
and "full" scrubs everything.
This option can be used only with "scrub".
`bad` scrubs bad blocks, `new` scrubs blocks not yet scrubbed,
and `full` scrubs everything.
This option can be used only with `scrub`.
-o, --older-than DAYS
Selects the oldest part of the array to process in "scrub".
Selects the oldest part of the array to process in `scrub`.
DAYS is the minimum age in days for a block to be scrubbed;
the default is 10.
Blocks marked as bad are always scrubbed regardless of this option.
This option can be used only with "scrub".
This option can be used only with `scrub`.
-a, --audit-only
In "check", verifies the hash of the files without
In `check`, verifies the hash of the files without
checking the parity data.
If you are interested only in checking the file data, this
option can significantly speed up the checking process.
This option can be used only with "check".
This option can be used only with `check`.
-h, --pre-hash
In "sync", runs a preliminary hashing phase of all new data
In `sync`, runs a preliminary hashing phase of all new data
for additional verification before the parity computation.
Usually, in "sync", no preliminary hashing is done, and the new
Usually, in `sync`, no preliminary hashing is done, and the new
data is hashed just before the parity computation when it is read
for the first time.
This process occurs when the system is under
@ -800,21 +800,21 @@ Options
This is an extreme condition for the machine, and if it has a
latent hardware problem, silent errors may go undetected
because the data is not yet hashed.
To avoid this risk, you can enable the "pre-hash" mode to have
To avoid this risk, you can enable the `pre-hash` mode to have
all the data read twice to ensure its integrity.
This option also verifies files moved within the array
to ensure the move operation was successful and, if necessary,
allows you to run a fix operation before proceeding.
This option can be used only with "sync".
This option can be used only with `sync`.
-i, --import DIR
Imports from the specified directory any files deleted
from the array after the last "sync".
If you still have such files, they can be used by "check"
and "fix" to improve the recovery process.
from the array after the last `sync`.
If you still have such files, they can be used by `check`
and `fix` to improve the recovery process.
The files are read, including in subdirectories, and are
identified regardless of their name.
This option can be used only with "check" and "fix".
This option can be used only with `check` and `fix`.
-s, --spin-down-on-error
On any error, spins down all managed disks before exiting with
@ -857,7 +857,7 @@ Options
some accessed files were truncated.
This is a possible condition in Linux with the ext3/ext4
file systems.
This option can be used only with "sync".
This option can be used only with `sync`.
-E, --force-empty
Forces the insecure operation of syncing a disk with all
@ -867,7 +867,7 @@ Options
unless you specify this option.
This allows you to easily detect when a data file system is not
mounted.
This option can be used only with "sync".
This option can be used only with `sync`.
-U, --force-uuid
Forces the insecure operation of syncing, checking, and fixing
@ -879,8 +879,8 @@ Options
It is, however, allowed to have a single UUID change with
single parity, and more with multiple parity, because this is
the normal case when replacing disks after a recovery.
This option can be used only with "sync", "check", or
"fix".
This option can be used only with `sync`, `check`, or
`fix`.
-D, --force-device
Forces the insecure operation of fixing with inaccessible disks
@ -889,10 +889,10 @@ Options
only the first one, you can ignore the second inaccessible disk.
Or, if you want to recover a disk in the free space left on an
already used disk, sharing the same physical device.
This option can be used only with "fix".
This option can be used only with `fix`.
-N, --force-nocopy
In "sync", "check", and "fix", disables the copy detection heuristic.
In `sync`, `check`, and `fix`, disables the copy detection heuristic.
Without this option, SnapRAID assumes that files with the same
attributes, such as name, size, and timestamp, are copies with the
same data.
@ -902,27 +902,27 @@ Options
In some rare cases, this behavior may result in false positives
or a slow process due to many hash verifications, and this
option allows you to resolve such issues.
This option can be used only with "sync", "check", and "fix".
This option can be used only with `sync`, `check`, and `fix`.
-F, --force-full
In "sync", forces a full recomputation of the parity.
In `sync`, forces a full recomputation of the parity.
This option can be used when you add a new parity level or if
you reverted to an old content file using more recent parity data.
Instead of recreating the parity from scratch, this allows
you to reuse the hashes present in the content file to validate data
and maintain data protection during the "sync" process using
and maintain data protection during the `sync` process using
the existing parity data.
This option can be used only with "sync".
This option can be used only with `sync`.
-R, --force-realloc
In "sync", forces a full reallocation of files and rebuild of the parity.
In `sync`, forces a full reallocation of files and rebuild of the parity.
This option can be used to completely reallocate all files,
removing fragmentation, while reusing the hashes present in the content
file to validate data.
This option can be used only with "sync".
This option can be used only with `sync`.
WARNING! This option is for experts only, and it is highly
recommended not to use it.
You DO NOT have data protection during the "sync" operation.
You DO NOT have data protection during the `sync` operation.
-l, --log FILE
Writes a detailed log to the specified file.
@ -936,19 +936,19 @@ Options
replaced with the date and time in the format YYYYMMDD and
HHMMSS. In Windows batch files, you must double
the '%' character, e.g., result-%%D.log. To use '>>', you must
enclose the name in quotes, e.g., ">>result.log".
enclose the name in quotes, e.g., `">>result.log"`.
To output the log to standard output or standard error,
you can use ">&1" and ">&2", respectively.
you can use `">&1"` and `">&2"`, respectively.
See the snapraid_log.txt file or man page for log tag descriptions.
-L, --error-limit NUMBER
Sets a new error limit before stopping execution.
By default, SnapRAID stops if it encounters more than 100
input/output errors, indicating that a disk is likely failing.
This option affects "sync" and "scrub", which are allowed
This option affects `sync` and `scrub`, which are allowed
to continue after the first set of disk errors to try
to complete their operations.
However, "check" and "fix" always stop at the first error.
However, `check` and `fix` always stop at the first error.
-S, --start BLKSTART
Starts processing from the specified
@ -993,10 +993,10 @@ Configuration
SnapRAID requires a configuration file to know where your disk array
is located and where to store the parity information.
In Unix, it uses the file "/usr/local/etc/snapraid.conf" if it exists,
otherwise "/etc/snapraid.conf".
In Windows, it uses the file "snapraid.conf" in the same
directory as "snapraid.exe".
In Unix, it uses the file `/usr/local/etc/snapraid.conf` if it exists,
otherwise `/etc/snapraid.conf`.
In Windows, it uses the file `snapraid.conf` in the same
directory as `snapraid.exe`.
It must contain the following options (case-sensitive):
@ -1065,7 +1065,7 @@ Configuration
It can be placed on a disk used for data, parity, or
any other disk available.
If you use a data disk, this file is automatically excluded
from the "sync" process.
from the `sync` process.
This option is mandatory and can be used multiple times to save
multiple copies of the same file.
@ -1091,7 +1091,7 @@ Configuration
nohidden
Excludes all hidden files and directories.
In Unix, hidden files are those starting with ".".
In Unix, hidden files are those starting with `.`.
In Windows, they are those with the hidden attribute.
exclude/include PATTERN
@ -1099,11 +1099,11 @@ Configuration
in the sync process.
All patterns are processed in the specified order.
If the first pattern that matches is an "exclude" one, the file
is excluded. If it is an "include" one, the file is included.
If the first pattern that matches is an `exclude` one, the file
is excluded. If it is an `include` one, the file is included.
If no pattern matches, the file is excluded if the last pattern
specified is an "include", or included if the last pattern
specified is an "exclude".
specified is an `include`, or included if the last pattern
specified is an `exclude`.
See the PATTERN section for more details on pattern
specifications.
@ -1136,7 +1136,7 @@ Configuration
block size, you will waste 12.8 GB of parity, which may result
in 12.8 GB less space available on the data disk.
You can check the amount of wasted space on each disk using "status".
You can check the amount of wasted space on each disk using `status`.
This is the amount of space you must leave free on the data
disks or use for files not included in the array.
If this value is negative, it means you are close to filling
@ -1195,7 +1195,7 @@ Configuration
autosave SIZE_IN_GIGABYTES
Automatically saves the state when syncing or scrubbing after the
specified amount of GB processed.
This option is useful to avoid restarting long "sync"
This option is useful to avoid restarting long `sync`
commands from scratch if interrupted by a machine crash or any other event.
temp_limit TEMPERATURE_CELSIUS
@ -1204,7 +1204,7 @@ Configuration
smartctl tool. The current disk temperatures are displayed while
SnapRAID is operating. If any disk exceeds this limit, all operations
stop, and the disks are spun down (put into standby) for the duration
defined by the "temp_sleep" option. After the sleep period, operations
defined by the `temp_sleep` option. After the sleep period, operations
resume, potentially pausing again if the temperature limit is reached
once more.
@ -1234,7 +1234,7 @@ Configuration
pool DIR
Defines the pooling directory where the virtual view of the disk
array is created using the "pool" command.
array is created using the `pool` command.
The directory must already exist.
@ -1247,7 +1247,7 @@ Configuration
which does not allow sharing the pool directory over the network.
The symbolic links are formed using the specified UNC path, adding the
disk name as specified in the "data" option, and finally adding the
disk name as specified in the `data` option, and finally adding the
file directory and name.
This option is required only for Windows.
@ -1258,13 +1258,13 @@ Configuration
disks that cannot be auto-detected. The %s placeholder is replaced by
the device name, but it is optional for fixed devices like RAID controllers.
DISK is the same disk name specified in the "data" option.
PARITY is one of the parity names: "parity", "2-parity", "3-parity",
"4-parity", "5-parity", "6-parity", or "z-parity".
DISK is the same disk name specified in the `data` option.
PARITY is one of the parity names: `parity`, `2-parity`, `3-parity`,
`4-parity`, `5-parity`, `6-parity`, or `z-parity`.
In the specified OPTIONS, the "%s" string is replaced by the
In the specified OPTIONS, the `%s` string is replaced by the
device name. For RAID controllers, the device is
likely fixed, and you may not need to use "%s".
likely fixed, and you may not need to use `%s`.
Refer to the smartmontools documentation for possible options:
@ -1280,12 +1280,12 @@ Configuration
of disk failure. This option is useful if a disk reports unusual or
misleading values for a particular attribute.
DISK is the same disk name specified in the "data" option.
PARITY is one of the parity names: "parity", "2-parity", "3-parity",
"4-parity", "5-parity", "6-parity", or "z-parity".
DISK is the same disk name specified in the `data` option.
PARITY is one of the parity names: `parity`, `2-parity`, `3-parity`,
`4-parity`, `5-parity`, `6-parity`, or `z-parity`.
The special value * can be used to ignore the attribute on all disks.
For example, to ignore the "Current Pending Sector Count" attribute on
For example, to ignore the `Current Pending Sector Count` attribute on
all disks:
:smartignore * 197
@ -1370,40 +1370,40 @@ Pattern
In the configuration file, you can use different strategies to filter
the files to process.
The simplest approach is to use only "exclude" rules to remove all the
The simplest approach is to use only `exclude` rules to remove all the
files and directories you do not want to process. For example:
:# Excludes any file named "*.unrecoverable"
:# Excludes any file named `*.unrecoverable`
:exclude *.unrecoverable
:# Excludes the root directory "/lost+found"
:# Excludes the root directory `/lost+found`
:exclude /lost+found/
:# Excludes any subdirectory named "tmp"
:# Excludes any subdirectory named `tmp`
:exclude tmp/
The opposite approach is to define only the files you want to process, using
only "include" rules. For example:
only `include` rules. For example:
:# Includes only some directories
:include /movies/
:include /musics/
:include /pictures/
The final approach is to mix "exclude" and "include" rules. In this case,
The final approach is to mix `exclude` and `include` rules. In this case,
the order of rules is important. Earlier rules take
precedence over later ones.
To simplify, you can list all the "exclude" rules first and then
all the "include" rules. For example:
To simplify, you can list all the `exclude` rules first and then
all the `include` rules. For example:
:# Excludes any file named "*.unrecoverable"
:# Excludes any file named `*.unrecoverable`
:exclude *.unrecoverable
:# Excludes any subdirectory named "tmp"
:# Excludes any subdirectory named `tmp`
:exclude tmp/
:# Includes only some directories
:include /movies/
:include /musics/
:include /pictures/
On the command line, using the -f option, you can only use "include"
On the command line, using the -f option, you can only use `include`
patterns. For example:
:# Checks only the .mp3 files.
@ -1419,18 +1419,18 @@ Content
It is a binary file that lists all the files present in your disk array,
along with all the checksums to verify their integrity.
This file is read and written by the "sync" and "scrub" commands and
read by the "fix", "check", and "status" commands.
This file is read and written by the `sync` and `scrub` commands and
read by the `fix`, `check`, and `status` commands.
Parity
SnapRAID stores the parity information of your array in the parity
files.
These are binary files containing the computed parity of all the
blocks defined in the "content" file.
blocks defined in the `content` file.
These files are read and written by the "sync" and "fix" commands and
only read by the "scrub" and "check" commands.
These files are read and written by the `sync` and `fix` commands and
only read by the `scrub` and `check` commands.
Encoding
SnapRAID in Unix ignores any encoding. It reads and stores the
@ -1440,8 +1440,8 @@ Encoding
processed in UTF-8 format.
To have file names printed correctly, you must set the Windows
console to UTF-8 mode with the command "chcp 65001" and use
a TrueType font like "Lucida Console" as the console font.
console to UTF-8 mode with the command `chcp 65001` and use
a TrueType font like `Lucida Console` as the console font.
This affects only the printed file names; if you
redirect the console output to a file, the resulting file is always
in UTF-8 format.

View file

@ -96,7 +96,7 @@ Other SnapRAID limitations are:
=================
To use SnapRAID, you need to first select one disk in your disk array
to dedicate to "parity" information. With one disk for parity, you
to dedicate to `parity` information. With one disk for parity, you
will be able to recover from a single disk failure, similar to RAID5.
If you want to recover from more disk failures, similar to RAID6,
@ -107,20 +107,20 @@ As parity disks, you must pick the largest disks in the array,
as the parity information may grow to the size of the largest data
disk in the array.
These disks will be dedicated to storing the "parity" files.
These disks will be dedicated to storing the `parity` files.
You should not store your data on them.
Then, you must define the "data" disks that you want to protect
Then, you must define the `data` disks that you want to protect
with SnapRAID. The protection is more effective if these disks
contain data that rarely changes. For this reason, it's better to
NOT include the Windows C:\ disk or the Unix /home, /var, and /tmp
directories.
The list of files is saved in the "content" files, usually
The list of files is saved in the `content` files, usually
stored on the data, parity, or boot disks.
This file contains the details of your backup, including all the
checksums to verify its integrity.
The "content" file is stored in multiple copies, and each copy must
The `content` file is stored in multiple copies, and each copy must
be on a different disk to ensure that, even in case of multiple
disk failures, at least one copy is available.
@ -159,7 +159,7 @@ disks directly in subfolders. See:
https://www.google.com/search?q=Windows+mount+point
At this point, you are ready to run the "sync" command to build the
At this point, you are ready to run the `sync` command to build the
parity information.
snapraid sync
@ -174,18 +174,18 @@ will resume where it was interrupted.
When this command completes, your data is SAFE.
Now you can start using your array as you like and periodically
update the parity information by running the "sync" command.
update the parity information by running the `sync` command.
4.1 Scrubbing
-------------
To periodically check the data and parity for errors, you can
run the "scrub" command.
run the `scrub` command.
snapraid scrub
This command compares the data in your array with the hash computed
during the "sync" command to verify integrity.
during the `sync` command to verify integrity.
Each run of the command checks approximately 8% of the array, excluding data
already scrubbed in the previous 10 days.
@ -196,24 +196,24 @@ For example, to check 5% of the array for blocks older than 20 days, use:
snapraid -p 5 -o 20 scrub
If silent or input/output errors are found during the process,
the corresponding blocks are marked as bad in the "content" file
and listed in the "status" command.
the corresponding blocks are marked as bad in the `content` file
and listed in the `status` command.
snapraid status
To fix them, you can use the "fix" command, filtering for bad blocks with
To fix them, you can use the `fix` command, filtering for bad blocks with
the -e, --filter-error option:
snapraid -e fix
At the next "scrub," the errors will disappear from the "status" report
At the next `scrub`, the errors will disappear from the `status` report
if they are truly fixed. To make it faster, you can use -p bad to scrub
only blocks marked as bad.
snapraid -p bad scrub
Running "scrub" on an unsynced array may report errors caused by
removed or modified files. These errors are reported in the "scrub"
Running `scrub` on an unsynced array may report errors caused by
removed or modified files. These errors are reported in the `scrub`
output, but the related blocks are not marked as bad.
4.2 Pooling
@ -229,10 +229,10 @@ protection and is commonly used in setups like OpenMediaVault (OMV)
or custom NAS configurations.
To have all the files in your array shown in the same directory tree,
you can enable the "pooling" feature. It creates a read-only virtual
you can enable the `pooling` feature. It creates a read-only virtual
view of all the files in your array using symbolic links.
You can configure the "pooling" directory in the configuration file with:
You can configure the `pooling` directory in the configuration file with:
pool /pool
@ -240,7 +240,7 @@ or, if you are on Windows, with:
pool C:\pool
and then run the "pool" command to create or update the virtual view.
and then run the `pool` command to create or update the virtual view.
snapraid pool
@ -264,10 +264,10 @@ In Windows, sharing symbolic links over a network requires clients to
resolve them remotely. To enable this, besides sharing the pool directory,
you must also share all the disks independently, using the disk names
defined in the configuration file as share points. You must also specify
in the "share" option of the configuration file the Windows UNC path that
in the `share` option of the configuration file the Windows UNC path that
remote clients need to use to access these shared disks.
For example, operating from a server named "darkstar", you can use
For example, operating from a server named `darkstar`, you can use
the options:
data d1 F:\array\
@ -330,11 +330,11 @@ Then proceed with the following steps.
You need some space to recover, ideally on additional
spare disks, but an external USB disk or remote disk will suffice.
Modify the SnapRAID configuration file to make the "data" or "parity"
Modify the SnapRAID configuration file to make the `data` or `parity`
option of the failed disk point to a location with enough empty
space to recover the files.
For example, if disk "d1" has failed, change from:
For example, if disk `d1` has failed, change from:
data d1 /mnt/disk1/
@ -342,7 +342,7 @@ to:
data d1 /mnt/new_spare_disk/
If the disk to recover is a parity disk, update the appropriate "parity"
If the disk to recover is a parity disk, update the appropriate `parity`
option.
If you have multiple failed disks, update all their configuration options.
@ -351,8 +351,8 @@ Run the fix command, storing the log in an external file with:
snapraid -d NAME -l fix.log fix
Where NAME is the name of the disk, such as "d1" in our previous example.
If the disk to recover is a parity disk, use the names "parity", "2-parity",
Where NAME is the name of the disk, such as `d1` in our previous example.
If the disk to recover is a parity disk, use the names `parity`, `2-parity`,
etc.
If you have multiple failed disks, use multiple -d options to specify all
of them.
@ -363,32 +363,32 @@ Ensure you have a few gigabytes free to store the fix.log file.
Run it from a disk with sufficient free space.
Now you have recovered all that is recoverable. If some files are partially
or totally unrecoverable, they will be renamed by adding the ".unrecoverable"
or totally unrecoverable, they will be renamed by adding the `.unrecoverable`
extension.
You can find a detailed list of all unrecoverable blocks in the fix.log file
by checking all lines starting with "unrecoverable:".
by checking all lines starting with `unrecoverable:`.
If you are not satisfied with the recovery, you can retry it as many
times as you wish.
For example, if you have removed files from the array after the last
"sync", this may result in some files not being recovered.
In this case, you can retry the "fix" using the -i, --import option,
`sync`, this may result in some files not being recovered.
In this case, you can retry the `fix` using the -i, --import option,
specifying where these files are now to include them again in the
recovery process.
If you are satisfied with the recovery, you can proceed further,
but note that after syncing, you cannot retry the "fix" command
but note that after syncing, you cannot retry the `fix` command
anymore!
---- 4.4.3 STEP 3 -> Check ----
As a cautious check, you can now run a "check" command to ensure that
As a cautious check, you can now run a `check` command to ensure that
everything is correct on the recovered disk.
snapraid -d NAME -a check
Where NAME is the name of the disk, such as "d1" in our previous example.
Where NAME is the name of the disk, such as `d1` in our previous example.
The -d and -a options tell SnapRAID to check only the specified disk
and ignore all parity data.
@ -397,7 +397,7 @@ This command will take a long time, but if you are not overly cautious,
you can skip it.
---- 4.4.4 STEP 4 -> Sync ----
Run the "sync" command to resynchronize the array with the new disk.
Run the `sync` command to resynchronize the array with the new disk.
snapraid sync
@ -409,11 +409,11 @@ If everything is recovered, this command is immediate.
SnapRAID provides a few simple commands that allow you to:
* Print the status of the array -> "status"
* Control the disks -> "smart", "probe", "up", "down"
* Make a backup/snapshot -> "sync"
* Periodically check data -> "scrub"
* Restore the last backup/snapshot -> "fix".
* Print the status of the array -> `status`
* Control the disks -> `smart`, `probe`, `up`, `down`
* Make a backup/snapshot -> `sync`
* Periodically check data -> `scrub`
* Restore the last backup/snapshot -> `fix`.
Commands must be written in lowercase.
@ -427,10 +427,10 @@ the blocks are without checking, and all recorded silent
errors encountered while scrubbing.
The information presented refers to the latest time you
ran "sync". Later modifications are not taken into account.
ran `sync`. Later modifications are not taken into account.
If bad blocks were detected, their block numbers are listed.
To fix them, you can use the "fix -e" command.
To fix them, you can use the `fix -e` command.
It also shows a graph representing the last time each block
was scrubbed or synced. Scrubbed blocks are shown with '*',
@ -452,7 +452,7 @@ of the disks with the Backblaze data available at:
https://www.backblaze.com/hard-drive-test-data.html
If SMART reports that a disk is failing, "FAIL" or "PREFAIL" is printed
If SMART reports that a disk is failing, `FAIL` or `PREFAIL` is printed
for that disk, and SnapRAID returns with an error.
In this case, immediate replacement of the disk is highly recommended.
@ -466,11 +466,11 @@ If the -v, --verbose option is specified, a deeper statistical analysis
is provided. This analysis can help you decide if you need more
or less parity.
This command uses the "smartctl" tool and is equivalent to running
"smartctl -a" on all devices.
This command uses the `smartctl` tool and is equivalent to running
`smartctl -a` on all devices.
If your devices are not auto-detected correctly, you can specify
a custom command using the "smartctl" option in the configuration
a custom command using the `smartctl` option in the configuration
file.
Nothing is modified.
@ -480,14 +480,14 @@ Nothing is modified.
Prints the POWER state of all disks in the system.
"Standby" means the disk is not spinning. "Active" means
`Standby` means the disk is not spinning. `Active` means
the disk is spinning.
This command uses the "smartctl" tool and is equivalent to running
"smartctl -n standby -i" on all devices.
This command uses the `smartctl` tool and is equivalent to running
`smartctl -n standby -i` on all devices.
If your devices are not auto-detected correctly, you can specify
a custom command using the "smartctl" option in the configuration
a custom command using the `smartctl` option in the configuration
file.
Nothing is modified.
@ -509,14 +509,14 @@ Nothing is modified.
Spins down all the disks of the array.
This command uses the "smartctl" tool and is equivalent to running
"smartctl -s standby,now" on all devices.
This command uses the `smartctl` tool and is equivalent to running
`smartctl -s standby,now` on all devices.
You can spin down only specific disks using the -d, --filter-disk
option.
To automatically spin down on error, you can use the -s, --spin-down-on-error
option with any other command, which is equivalent to running "down" manually
option with any other command, which is equivalent to running `down` manually
when an error occurs.
Nothing is modified.
@ -524,7 +524,7 @@ Nothing is modified.
5.6 diff
--------
Lists all the files modified since the last "sync" that need to have
Lists all the files modified since the last `sync` that need to have
their parity data recomputed.
This command doesn't check the file data, but only the file timestamp,
@ -542,14 +542,14 @@ presented, grouped by:
and inode, but a different directory.
copied - Files copied on the same or a different disk. Note that if
they are truly moved to a different disk, they will also be
counted in "removed".
counted in `removed`.
They are identified by having the same name, size, and
timestamp. If the sub-second timestamp is zero,
the full path must match, not just the name.
restored - Files with a different inode but matching name, size, and timestamp.
These are usually files restored after being deleted.
If a "sync" is required, the process return code is 2, instead of the
If a `sync` is required, the process return code is 2, instead of the
default 0. The return code 1 is used for a generic error condition.
Nothing is modified.
@ -563,7 +563,7 @@ data is updated.
You can stop this process at any time by pressing Ctrl+C,
without losing the work already done.
At the next run, the "sync" process will resume where
At the next run, the `sync` process will resume where
it was interrupted.
If silent or input/output errors are found during the process,
@ -578,7 +578,7 @@ same inode, the parity is not recomputed.
If the file is moved to another disk, the parity is recomputed,
but the previously computed hash information is retained.
The "content" and "parity" files are modified if necessary.
The `content` and `parity` files are modified if necessary.
The files in the array are NOT modified.
5.8 scrub
@ -603,25 +603,25 @@ If you specify a percentage amount, you can also use the -o, --older-than
option to define how old the block should be.
The oldest blocks are scrubbed first, ensuring an optimal check.
If you want to scrub only the just-synced blocks not yet scrubbed,
use the "-p new" option.
use the `-p new` option.
To get details of the scrub status, use the "status" command.
To get details of the scrub status, use the `status` command.
For any silent or input/output error found, the corresponding blocks
are marked as bad in the "content" file.
These bad blocks are listed in "status" and can be fixed with "fix -e".
are marked as bad in the `content` file.
These bad blocks are listed in `status` and can be fixed with `fix -e`.
After the fix, at the next scrub, they will be rechecked, and if found
corrected, the bad mark will be removed.
To scrub only the bad blocks, you can use the "scrub -p bad" command.
To scrub only the bad blocks, you can use the `scrub -p bad` command.
It's recommended to run "scrub" only on a synced array to avoid
It's recommended to run `scrub` only on a synced array to avoid
reported errors caused by unsynced data. These errors are recognized
as not being silent errors, and the blocks are not marked as bad,
but such errors are reported in the output of the command.
The "content" file is modified to update the time of the last check
The `content` file is modified to update the time of the last check
for each block and to mark bad blocks.
The "parity" files are NOT modified.
The `parity` files are NOT modified.
The files in the array are NOT modified.
5.9 fix
@ -630,26 +630,26 @@ The files in the array are NOT modified.
Fixes all the files and the parity data.
All files and parity data are compared with the snapshot
state saved in the last "sync".
state saved in the last `sync`.
If a difference is found, it is reverted to the stored snapshot.
WARNING! The "fix" command does not differentiate between errors and
WARNING! The `fix` command does not differentiate between errors and
intentional modifications. It unconditionally reverts the file state
to the last "sync".
to the last `sync`.
If no other option is specified, the entire array is processed.
Use the filter options to select a subset of files or disks to operate on.
To fix only the blocks marked bad during "sync" and "scrub",
To fix only the blocks marked bad during `sync` and `scrub`,
use the -e, --filter-error option.
Unlike other filter options, this one applies fixes only to files that are
unchanged since the latest "sync".
unchanged since the latest `sync`.
SnapRAID renames all files that cannot be fixed by adding the
".unrecoverable" extension.
`.unrecoverable` extension.
Before fixing, the entire array is scanned to find any files moved
since the last "sync" operation.
since the last `sync` operation.
These files are identified by their timestamp, ignoring their name
and directory, and are used in the recovery process if necessary.
If you moved some of them outside the array, you can use the -i, --import
@ -657,8 +657,8 @@ option to specify additional directories to scan.
Files are identified only by path, not by inode.
The "content" file is NOT modified.
The "parity" files are modified if necessary.
The `content` file is NOT modified.
The `parity` files are modified if necessary.
The files in the array are modified if necessary.
5.10 check
@ -666,12 +666,12 @@ The files in the array are modified if necessary.
Verifies all the files and the parity data.
It works like "fix", but it only simulates a recovery and no changes
It works like `fix`, but it only simulates a recovery and no changes
are written to the array.
This command is primarily intended for manual verification,
such as after a recovery process or in other special conditions.
For periodic and scheduled checks, use "scrub".
For periodic and scheduled checks, use `scrub`.
If you use the -a, --audit-only option, only the file
data is checked, and the parity data is ignored for a
@ -685,7 +685,7 @@ Nothing is modified.
---------
Lists all the files contained in the array at the time of the
last "sync".
last `sync`.
With -v or --verbose, the subsecond time is also shown.
@ -704,7 +704,7 @@ Nothing is modified.
---------
Creates or updates a virtual view of all
the files in your disk array in the "pooling" directory.
the files in your disk array in the `pooling` directory.
The files are not copied but linked using
symbolic links.
@ -765,12 +765,12 @@ If you are already using the optimal hash, this command
does nothing and informs you that no action is needed.
The rehash is not performed immediately but takes place
progressively during "sync" and "scrub".
progressively during `sync` and `scrub`.
You can check the rehash state using "status".
You can check the rehash state using `status`.
During the rehash, SnapRAID maintains full functionality,
with the only exception that "dup" cannot detect duplicated
with the only exception that `dup` cannot detect duplicated
files using a different hash.
@ -781,77 +781,77 @@ SnapRAID provides the following options:
-c, --conf CONFIG
Selects the configuration file to use. If not specified, in Unix
it uses the file "/usr/local/etc/snapraid.conf" if it exists,
otherwise "/etc/snapraid.conf".
In Windows, it uses the file "snapraid.conf" in the same
directory as "snapraid.exe".
it uses the file `/usr/local/etc/snapraid.conf` if it exists,
otherwise `/etc/snapraid.conf`.
In Windows, it uses the file `snapraid.conf` in the same
directory as `snapraid.exe`.
-f, --filter PATTERN
Filters the files to process in "check" and "fix".
Filters the files to process in `check` and `fix`.
Only the files matching the specified pattern are processed.
This option can be used multiple times.
See the PATTERN section for more details on
pattern specifications.
In Unix, ensure globbing characters are quoted if used.
This option can be used only with "check" and "fix".
It cannot be used with "sync" and "scrub", as they always
This option can be used only with `check` and `fix`.
It cannot be used with `sync` and `scrub`, as they always
process the entire array.
-d, --filter-disk NAME
Filters the disks to process in "check", "fix", "up", and "down".
Filters the disks to process in `check`, `fix`, `up`, and `down`.
You must specify a disk name as defined in the configuration
file.
You can also specify parity disks with the names: "parity", "2-parity",
"3-parity", etc., to limit operations to a specific parity disk.
You can also specify parity disks with the names: `parity`, `2-parity`,
`3-parity`, etc., to limit operations to a specific parity disk.
If you combine multiple --filter, --filter-disk, and --filter-missing options,
only files matching all the filters are selected.
This option can be used multiple times.
This option can be used only with "check", "fix", "up", and "down".
It cannot be used with "sync" and "scrub", as they always
This option can be used only with `check`, `fix`, `up`, and `down`.
It cannot be used with `sync` and `scrub`, as they always
process the entire array.
-m, --filter-missing
Filters the files to process in "check" and "fix".
Filters the files to process in `check` and `fix`.
Only the files missing or deleted from the array are processed.
When used with "fix", this acts as an "undelete" command.
When used with `fix`, this acts as an `undelete` command.
If you combine multiple --filter, --filter-disk, and --filter-missing options,
only files matching all the filters are selected.
This option can be used only with "check" and "fix".
It cannot be used with "sync" and "scrub", as they always
This option can be used only with `check` and `fix`.
It cannot be used with `sync` and `scrub`, as they always
process the entire array.
-e, --filter-error
Processes the files with errors in "check" and "fix".
Processes the files with errors in `check` and `fix`.
It processes only files that have blocks marked with silent
or input/output errors during "sync" and "scrub", as listed in "status".
This option can be used only with "check" and "fix".
or input/output errors during `sync` and `scrub`, as listed in `status`.
This option can be used only with `check` and `fix`.
-p, --plan PERC|bad|new|full
Selects the scrub plan. If PERC is a numeric value from 0 to 100,
it is interpreted as the percentage of blocks to scrub.
Instead of a percentage, you can specify a plan:
"bad" scrubs bad blocks, "new" scrubs blocks not yet scrubbed,
and "full" scrubs everything.
This option can be used only with "scrub".
`bad` scrubs bad blocks, `new` scrubs blocks not yet scrubbed,
and `full` scrubs everything.
This option can be used only with `scrub`.
-o, --older-than DAYS
Selects the oldest part of the array to process in "scrub".
Selects the oldest part of the array to process in `scrub`.
DAYS is the minimum age in days for a block to be scrubbed;
the default is 10.
Blocks marked as bad are always scrubbed regardless of this option.
This option can be used only with "scrub".
This option can be used only with `scrub`.
-a, --audit-only
In "check", verifies the hash of the files without
In `check`, verifies the hash of the files without
checking the parity data.
If you are interested only in checking the file data, this
option can significantly speed up the checking process.
This option can be used only with "check".
This option can be used only with `check`.
-h, --pre-hash
In "sync", runs a preliminary hashing phase of all new data
In `sync`, runs a preliminary hashing phase of all new data
for additional verification before the parity computation.
Usually, in "sync", no preliminary hashing is done, and the new
Usually, in `sync`, no preliminary hashing is done, and the new
data is hashed just before the parity computation when it is read
for the first time.
This process occurs when the system is under
@ -859,21 +859,21 @@ SnapRAID provides the following options:
This is an extreme condition for the machine, and if it has a
latent hardware problem, silent errors may go undetected
because the data is not yet hashed.
To avoid this risk, you can enable the "pre-hash" mode to have
To avoid this risk, you can enable the `pre-hash` mode to have
all the data read twice to ensure its integrity.
This option also verifies files moved within the array
to ensure the move operation was successful and, if necessary,
allows you to run a fix operation before proceeding.
This option can be used only with "sync".
This option can be used only with `sync`.
-i, --import DIR
Imports from the specified directory any files deleted
from the array after the last "sync".
If you still have such files, they can be used by "check"
and "fix" to improve the recovery process.
from the array after the last `sync`.
If you still have such files, they can be used by `check`
and `fix` to improve the recovery process.
The files are read, including in subdirectories, and are
identified regardless of their name.
This option can be used only with "check" and "fix".
This option can be used only with `check` and `fix`.
-s, --spin-down-on-error
On any error, spins down all managed disks before exiting with
@ -916,7 +916,7 @@ SnapRAID provides the following options:
some accessed files were truncated.
This is a possible condition in Linux with the ext3/ext4
file systems.
This option can be used only with "sync".
This option can be used only with `sync`.
-E, --force-empty
Forces the insecure operation of syncing a disk with all
@ -926,7 +926,7 @@ SnapRAID provides the following options:
unless you specify this option.
This allows you to easily detect when a data file system is not
mounted.
This option can be used only with "sync".
This option can be used only with `sync`.
-U, --force-uuid
Forces the insecure operation of syncing, checking, and fixing
@ -938,8 +938,8 @@ SnapRAID provides the following options:
It is, however, allowed to have a single UUID change with
single parity, and more with multiple parity, because this is
the normal case when replacing disks after a recovery.
This option can be used only with "sync", "check", or
"fix".
This option can be used only with `sync`, `check`, or
`fix`.
-D, --force-device
Forces the insecure operation of fixing with inaccessible disks
@ -948,10 +948,10 @@ SnapRAID provides the following options:
only the first one, you can ignore the second inaccessible disk.
Or, if you want to recover a disk in the free space left on an
already used disk, sharing the same physical device.
This option can be used only with "fix".
This option can be used only with `fix`.
-N, --force-nocopy
In "sync", "check", and "fix", disables the copy detection heuristic.
In `sync`, `check`, and `fix`, disables the copy detection heuristic.
Without this option, SnapRAID assumes that files with the same
attributes, such as name, size, and timestamp, are copies with the
same data.
@ -961,27 +961,27 @@ SnapRAID provides the following options:
In some rare cases, this behavior may result in false positives
or a slow process due to many hash verifications, and this
option allows you to resolve such issues.
This option can be used only with "sync", "check", and "fix".
This option can be used only with `sync`, `check`, and `fix`.
-F, --force-full
In "sync", forces a full recomputation of the parity.
In `sync`, forces a full recomputation of the parity.
This option can be used when you add a new parity level or if
you reverted to an old content file using more recent parity data.
Instead of recreating the parity from scratch, this allows
you to reuse the hashes present in the content file to validate data
and maintain data protection during the "sync" process using
and maintain data protection during the `sync` process using
the existing parity data.
This option can be used only with "sync".
This option can be used only with `sync`.
-R, --force-realloc
In "sync", forces a full reallocation of files and rebuild of the parity.
In `sync`, forces a full reallocation of files and rebuild of the parity.
This option can be used to completely reallocate all files,
removing fragmentation, while reusing the hashes present in the content
file to validate data.
This option can be used only with "sync".
This option can be used only with `sync`.
WARNING! This option is for experts only, and it is highly
recommended not to use it.
You DO NOT have data protection during the "sync" operation.
You DO NOT have data protection during the `sync` operation.
-l, --log FILE
Writes a detailed log to the specified file.
@ -995,19 +995,19 @@ SnapRAID provides the following options:
replaced with the date and time in the format YYYYMMDD and
HHMMSS. In Windows batch files, you must double
the '%' character, e.g., result-%%D.log. To use '>>', you must
enclose the name in quotes, e.g., ">>result.log".
enclose the name in quotes, e.g., `">>result.log"`.
To output the log to standard output or standard error,
you can use ">&1" and ">&2", respectively.
you can use `">&1"` and `">&2"`, respectively.
See the snapraid_log.txt file or man page for log tag descriptions.
-L, --error-limit NUMBER
Sets a new error limit before stopping execution.
By default, SnapRAID stops if it encounters more than 100
input/output errors, indicating that a disk is likely failing.
This option affects "sync" and "scrub", which are allowed
This option affects `sync` and `scrub`, which are allowed
to continue after the first set of disk errors to try
to complete their operations.
However, "check" and "fix" always stop at the first error.
However, `check` and `fix` always stop at the first error.
-S, --start BLKSTART
Starts processing from the specified
@ -1055,10 +1055,10 @@ SnapRAID provides the following options:
SnapRAID requires a configuration file to know where your disk array
is located and where to store the parity information.
In Unix, it uses the file "/usr/local/etc/snapraid.conf" if it exists,
otherwise "/etc/snapraid.conf".
In Windows, it uses the file "snapraid.conf" in the same
directory as "snapraid.exe".
In Unix, it uses the file `/usr/local/etc/snapraid.conf` if it exists,
otherwise `/etc/snapraid.conf`.
In Windows, it uses the file `snapraid.conf` in the same
directory as `snapraid.exe`.
It must contain the following options (case-sensitive):
@ -1135,7 +1135,7 @@ files present in your disk array.
It can be placed on a disk used for data, parity, or
any other disk available.
If you use a data disk, this file is automatically excluded
from the "sync" process.
from the `sync` process.
This option is mandatory and can be used multiple times to save
multiple copies of the same file.
@ -1165,7 +1165,7 @@ UUID of the disks.
------------
Excludes all hidden files and directories.
In Unix, hidden files are those starting with ".".
In Unix, hidden files are those starting with `.`.
In Windows, they are those with the hidden attribute.
7.7 exclude/include PATTERN
@ -1175,11 +1175,11 @@ Defines the file or directory patterns to exclude or include
in the sync process.
All patterns are processed in the specified order.
If the first pattern that matches is an "exclude" one, the file
is excluded. If it is an "include" one, the file is included.
If the first pattern that matches is an `exclude` one, the file
is excluded. If it is an `include` one, the file is included.
If no pattern matches, the file is excluded if the last pattern
specified is an "include", or included if the last pattern
specified is an "exclude".
specified is an `include`, or included if the last pattern
specified is an `exclude`.
See the PATTERN section for more details on pattern
specifications.
@ -1214,7 +1214,7 @@ wasted for each file. For example, with 100,000 files and a 256 KiB
block size, you will waste 12.8 GB of parity, which may result
in 12.8 GB less space available on the data disk.
You can check the amount of wasted space on each disk using "status".
You can check the amount of wasted space on each disk using `status`.
This is the amount of space you must leave free on the data
disks or use for files not included in the array.
If this value is negative, it means you are close to filling
@ -1277,7 +1277,7 @@ RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB
Automatically saves the state when syncing or scrubbing after the
specified amount of GB processed.
This option is useful to avoid restarting long "sync"
This option is useful to avoid restarting long `sync`
commands from scratch if interrupted by a machine crash or any other event.
7.11 temp_limit TEMPERATURE_CELSIUS
@ -1288,7 +1288,7 @@ SnapRAID periodically checks the temperature of all disks using the
smartctl tool. The current disk temperatures are displayed while
SnapRAID is operating. If any disk exceeds this limit, all operations
stop, and the disks are spun down (put into standby) for the duration
defined by the "temp_sleep" option. After the sleep period, operations
defined by the `temp_sleep` option. After the sleep period, operations
resume, potentially pausing again if the temperature limit is reached
once more.
@ -1322,7 +1322,7 @@ is 5 minutes.
-------------
Defines the pooling directory where the virtual view of the disk
array is created using the "pool" command.
array is created using the `pool` command.
The directory must already exist.
@ -1337,7 +1337,7 @@ Without this option, the symbolic links generated use only local paths,
which does not allow sharing the pool directory over the network.
The symbolic links are formed using the specified UNC path, adding the
disk name as specified in the "data" option, and finally adding the
disk name as specified in the `data` option, and finally adding the
file directory and name.
This option is required only for Windows.
@ -1350,13 +1350,13 @@ each disk. This may be required for RAID controllers and some USB
disks that cannot be auto-detected. The %s placeholder is replaced by
the device name, but it is optional for fixed devices like RAID controllers.
DISK is the same disk name specified in the "data" option.
PARITY is one of the parity names: "parity", "2-parity", "3-parity",
"4-parity", "5-parity", "6-parity", or "z-parity".
DISK is the same disk name specified in the `data` option.
PARITY is one of the parity names: `parity`, `2-parity`, `3-parity`,
`4-parity`, `5-parity`, `6-parity`, or `z-parity`.
In the specified OPTIONS, the "%s" string is replaced by the
In the specified OPTIONS, the `%s` string is replaced by the
device name. For RAID controllers, the device is
likely fixed, and you may not need to use "%s".
likely fixed, and you may not need to use `%s`.
Refer to the smartmontools documentation for possible options:
@ -1374,12 +1374,12 @@ Ignores the specified SMART attribute when computing the probability
of disk failure. This option is useful if a disk reports unusual or
misleading values for a particular attribute.
DISK is the same disk name specified in the "data" option.
PARITY is one of the parity names: "parity", "2-parity", "3-parity",
"4-parity", "5-parity", "6-parity", or "z-parity".
DISK is the same disk name specified in the `data` option.
PARITY is one of the parity names: `parity`, `2-parity`, `3-parity`,
`4-parity`, `5-parity`, `6-parity`, or `z-parity`.
The special value * can be used to ignore the attribute on all disks.
For example, to ignore the "Current Pending Sector Count" attribute on
For example, to ignore the `Current Pending Sector Count` attribute on
all disks:
smartignore * 197
@ -1469,40 +1469,40 @@ character to avoid having it interpreted by the command shell.
In the configuration file, you can use different strategies to filter
the files to process.
The simplest approach is to use only "exclude" rules to remove all the
The simplest approach is to use only `exclude` rules to remove all the
files and directories you do not want to process. For example:
# Excludes any file named "*.unrecoverable"
# Excludes any file named `*.unrecoverable`
exclude *.unrecoverable
# Excludes the root directory "/lost+found"
# Excludes the root directory `/lost+found`
exclude /lost+found/
# Excludes any subdirectory named "tmp"
# Excludes any subdirectory named `tmp`
exclude tmp/
The opposite approach is to define only the files you want to process, using
only "include" rules. For example:
only `include` rules. For example:
# Includes only some directories
include /movies/
include /musics/
include /pictures/
The final approach is to mix "exclude" and "include" rules. In this case,
The final approach is to mix `exclude` and `include` rules. In this case,
the order of rules is important. Earlier rules take
precedence over later ones.
To simplify, you can list all the "exclude" rules first and then
all the "include" rules. For example:
To simplify, you can list all the `exclude` rules first and then
all the `include` rules. For example:
# Excludes any file named "*.unrecoverable"
# Excludes any file named `*.unrecoverable`
exclude *.unrecoverable
# Excludes any subdirectory named "tmp"
# Excludes any subdirectory named `tmp`
exclude tmp/
# Includes only some directories
include /movies/
include /musics/
include /pictures/
On the command line, using the -f option, you can only use "include"
On the command line, using the -f option, you can only use `include`
patterns. For example:
# Checks only the .mp3 files.
@ -1521,8 +1521,8 @@ SnapRAID stores the list and checksums of your files in the content file.
It is a binary file that lists all the files present in your disk array,
along with all the checksums to verify their integrity.
This file is read and written by the "sync" and "scrub" commands and
read by the "fix", "check", and "status" commands.
This file is read and written by the `sync` and `scrub` commands and
read by the `fix`, `check`, and `status` commands.
10 PARITY
@ -1532,10 +1532,10 @@ SnapRAID stores the parity information of your array in the parity
files.
These are binary files containing the computed parity of all the
blocks defined in the "content" file.
blocks defined in the `content` file.
These files are read and written by the "sync" and "fix" commands and
only read by the "scrub" and "check" commands.
These files are read and written by the `sync` and `fix` commands and
only read by the `scrub` and `check` commands.
11 ENCODING
@ -1548,8 +1548,8 @@ In Windows, all names read from the file system are converted and
processed in UTF-8 format.
To have file names printed correctly, you must set the Windows
console to UTF-8 mode with the command "chcp 65001" and use
a TrueType font like "Lucida Console" as the console font.
console to UTF-8 mode with the command `chcp 65001` and use
a TrueType font like `Lucida Console` as the console font.
This affects only the printed file names; if you
redirect the console output to a file, the resulting file is always
in UTF-8 format.