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 ##
|
## /etc/snapraid.conf ##
|
||||||
|
|
||||||
# Example configuration for snapraid
|
|
||||||
|
|
||||||
# Defines the file to use as parity storage
|
# 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
|
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
|
# 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 /var/snapraid.content
|
||||||
content /mnt/drive1/snapraid.content
|
content /mnt/drive1/snapraid.content
|
||||||
content /mnt/drive2/snapraid.content
|
content /mnt/drive2/snapraid.content
|
||||||
|
@ -33,64 +11,11 @@ content /mnt/drive3/snapraid.content
|
||||||
content /mnt/parity/snapraid.content
|
content /mnt/parity/snapraid.content
|
||||||
|
|
||||||
# Defines the data disks to use
|
# 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 d1 /mnt/drive1/
|
||||||
data d2 /mnt/drive2/
|
data d2 /mnt/drive2/
|
||||||
data d3 /mnt/drive3/
|
data d3 /mnt/drive3/
|
||||||
|
|
||||||
# Excludes hidden files and directories (uncomment to enable).
|
|
||||||
#nohidden
|
|
||||||
|
|
||||||
# Defines files and directories to exclude
|
# 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 *.unrecoverable
|
||||||
exclude /tmp/
|
exclude /tmp/
|
||||||
exclude /lost+found/
|
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
|
|
|
@ -1,12 +1,46 @@
|
||||||
{ pkgs, ... }:
|
{ 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.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
|
[logging]
|
||||||
# services.snapraid = {
|
file = /var/log/snapraid-runner.log
|
||||||
# enable = true;
|
maxsize = 5000
|
||||||
# configFile = "/etc/snapraid.conf";
|
|
||||||
# };
|
[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