fixed up snapraid/runner configuration
and set up its cron job
This commit is contained in:
parent
b6a64c4ecf
commit
caa29b6872
2 changed files with 41 additions and 82 deletions
|
@ -1,31 +1,9 @@
|
|||
## /etc/snapraid.conf ##
|
||||
|
||||
# Example configuration for snapraid
|
||||
|
||||
# Defines the file to use as parity storage
|
||||
# It must NOT be in a data disk
|
||||
# Format: "parity FILE [,FILE] ..."
|
||||
parity /mnt/parity/snapraid.parity
|
||||
|
||||
# Defines the files to use as additional parity storage.
|
||||
# If specified, they enable the multiple failures protection
|
||||
# from two to six level of parity.
|
||||
# To enable, uncomment one parity file for each level of extra
|
||||
# protection required. Start from 2-parity, and follow in order.
|
||||
# It must NOT be in a data disk
|
||||
# Format: "X-parity FILE [,FILE] ..."
|
||||
#2-parity /mnt/parity2/snapraid.2-parity
|
||||
#3-parity /mnt/diskr/snapraid.3-parity
|
||||
#4-parity /mnt/disks/snapraid.4-parity
|
||||
#5-parity /mnt/diskt/snapraid.5-parity
|
||||
#6-parity /mnt/disku/snapraid.6-parity
|
||||
|
||||
# Defines the files to use as content list
|
||||
# You can use multiple specification to store more copies
|
||||
# You must have least one copy for each parity file plus one. Some more don't hurt
|
||||
# They can be in the disks used for data, parity or boot,
|
||||
# but each file must be in a different disk
|
||||
# Format: "content FILE"
|
||||
content /var/snapraid.content
|
||||
content /mnt/drive1/snapraid.content
|
||||
content /mnt/drive2/snapraid.content
|
||||
|
@ -33,64 +11,11 @@ content /mnt/drive3/snapraid.content
|
|||
content /mnt/parity/snapraid.content
|
||||
|
||||
# Defines the data disks to use
|
||||
# The name and mount point association is relevant for parity, do not change it
|
||||
# WARNING: Adding here your /home, /var or /tmp disks is NOT a good idea!
|
||||
# SnapRAID is better suited for files that rarely changes!
|
||||
# Format: "data DISK_NAME DISK_MOUNT_POINT"
|
||||
data d1 /mnt/drive1/
|
||||
data d2 /mnt/drive2/
|
||||
data d3 /mnt/drive3/
|
||||
|
||||
# Excludes hidden files and directories (uncomment to enable).
|
||||
#nohidden
|
||||
|
||||
# Defines files and directories to exclude
|
||||
# Remember that all the paths are relative at the mount points
|
||||
# Format: "exclude FILE"
|
||||
# Format: "exclude DIR/"
|
||||
# Format: "exclude /PATH/FILE"
|
||||
# Format: "exclude /PATH/DIR/"
|
||||
exclude *.unrecoverable
|
||||
exclude /tmp/
|
||||
exclude /lost+found/
|
||||
|
||||
# Defines the block size in kibi bytes (1024 bytes) (uncomment to enable).
|
||||
# WARNING: Changing this value is for experts only!
|
||||
# Default value is 256 -> 256 kibi bytes -> 262144 bytes
|
||||
# Format: "blocksize SIZE_IN_KiB"
|
||||
#blocksize 256
|
||||
|
||||
# Defines the hash size in bytes (uncomment to enable).
|
||||
# WARNING: Changing this value is for experts only!
|
||||
# Default value is 16 -> 128 bits
|
||||
# Format: "hashsize SIZE_IN_BYTES"
|
||||
#hashsize 16
|
||||
|
||||
# Automatically save the state when syncing after the specified amount
|
||||
# of GB processed (uncomment to enable).
|
||||
# This option is useful to avoid to restart from scratch long 'sync'
|
||||
# commands interrupted by a machine crash.
|
||||
# It also improves the recovering if a disk break during a 'sync'.
|
||||
# Default value is 0, meaning disabled.
|
||||
# Format: "autosave SIZE_IN_GB"
|
||||
#autosave 500
|
||||
|
||||
# Defines the pooling directory where the virtual view of the disk
|
||||
# array is created using the "pool" command (uncomment to enable).
|
||||
# The files are not really copied here, but just linked using
|
||||
# symbolic links.
|
||||
# This directory must be outside the array.
|
||||
# Format: "pool DIR"
|
||||
#pool /pool
|
||||
|
||||
# Defines a custom smartctl command to obtain the SMART attributes
|
||||
# for each disk. This may be required for RAID controllers and for
|
||||
# some USB disk that cannot be autodetected.
|
||||
# In the specified options, the "%s" string is replaced by the device name.
|
||||
# Refers at the smartmontools documentation about the possible options:
|
||||
# RAID -> https://www.smartmontools.org/wiki/Supported_RAID-Controllers
|
||||
# USB -> https://www.smartmontools.org/wiki/Supported_USB-Devices
|
||||
#smartctl d1 -d sat %s
|
||||
#smartctl d2 -d usbjmicron %s
|
||||
#smartctl parity -d areca,1/1 /dev/sg0
|
||||
#smartctl 2-parity -d areca,2/1 /dev/sg0
|
||||
exclude /lost+found/
|
|
@ -1,12 +1,46 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.etc."snapraid-runner.conf".text = builtins.readFile ../pkgs/snapraid-runner/snapraid-runner.conf;
|
||||
|
||||
environment.etc."snapraid.conf".text = builtins.readFile ./snapraid.conf;
|
||||
environment.etc."snapraid-runner.conf".text = ''
|
||||
[snapraid]
|
||||
executable = ${pkgs.snapraid}/bin/snapraid
|
||||
config = /etc/snapraid.conf
|
||||
deletethreshold = 40
|
||||
touch = false
|
||||
|
||||
# Enable the SnapRAID service
|
||||
# services.snapraid = {
|
||||
# enable = true;
|
||||
# configFile = "/etc/snapraid.conf";
|
||||
# };
|
||||
[logging]
|
||||
file = /var/log/snapraid-runner.log
|
||||
maxsize = 5000
|
||||
|
||||
[email]
|
||||
sendon =
|
||||
short = true
|
||||
subject = [SnapRAID] Status Report:
|
||||
from = cloud@ryot.foo
|
||||
to = [REDACTED]
|
||||
maxsize = 500
|
||||
|
||||
[smtp]
|
||||
host = ryot.foo
|
||||
port =
|
||||
ssl = true
|
||||
tls = true
|
||||
user = admin
|
||||
password = [REDACTED]
|
||||
|
||||
[scrub]
|
||||
enabled = true
|
||||
plan = 12
|
||||
older-than = 10
|
||||
'';
|
||||
|
||||
services.cron = {
|
||||
enable = true;
|
||||
systemCronJobs = [
|
||||
# Runs snapraid-runner every day at 3am
|
||||
"0 3 * * * root snapraid-runner"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue