mirror of
https://github.com/oqyude/nixos.git
synced 2026-06-11 04:30:41 +03:00
systemd units for rsync rewrite
This commit is contained in:
@@ -48,7 +48,7 @@ let
|
|||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
# Archive drive
|
# Archive drive
|
||||||
"/mnt/archive" = {
|
"${xlib.dirs.archive-drive}" = {
|
||||||
device = "/dev/disk/by-label/archive";
|
device = "/dev/disk/by-label/archive";
|
||||||
fsType = "exfat";
|
fsType = "exfat";
|
||||||
options = [
|
options = [
|
||||||
@@ -58,7 +58,7 @@ let
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
# Mobile SD-Card
|
# Mobile SD-Card
|
||||||
"/mnt/mobile" = {
|
"${xlib.dirs.mobile-drive}" = {
|
||||||
device = "/dev/disk/by-uuid/7EB1-DC99";
|
device = "/dev/disk/by-uuid/7EB1-DC99";
|
||||||
fsType = "exfat";
|
fsType = "exfat";
|
||||||
options = [
|
options = [
|
||||||
@@ -67,6 +67,7 @@ let
|
|||||||
"gid=1000"
|
"gid=1000"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
# Services in /mnt folder
|
||||||
"${xlib.dirs.services-mnt-folder}" = {
|
"${xlib.dirs.services-mnt-folder}" = {
|
||||||
device = "${xlib.dirs.services-folder}";
|
device = "${xlib.dirs.services-folder}";
|
||||||
fsType = "none";
|
fsType = "none";
|
||||||
|
|||||||
@@ -11,31 +11,65 @@
|
|||||||
rsync-archivesta = {
|
rsync-archivesta = {
|
||||||
# Archivesta
|
# Archivesta
|
||||||
description = "Backup data using rsync";
|
description = "Backup data using rsync";
|
||||||
requisite = [ "mnt-archive.mount" ]; # hard-code
|
# wants = [
|
||||||
|
# "mnt-archive.mount"
|
||||||
|
# ];
|
||||||
|
# requires = [
|
||||||
|
# "mnt-archive.mount"
|
||||||
|
# ];
|
||||||
|
# after = [
|
||||||
|
# "mnt-archive.mount"
|
||||||
|
# ];
|
||||||
|
unitConfig.RequiresMountsFor = [
|
||||||
|
"${xlib.dirs.archive-drive}"
|
||||||
|
"${xlib.dirs.server-home}"
|
||||||
|
"${xlib.dirs.services-mnt-folder}"
|
||||||
|
];
|
||||||
script = ''
|
script = ''
|
||||||
${pkgs.rsync}/bin/rsync -rtv --delete ${xlib.dirs.services-folder}/ ${xlib.dirs.archive-drive}/Services/
|
${pkgs.rsync}/bin/rsync -rtv --delete \
|
||||||
|
${xlib.dirs.services-mnt-folder}/ \
|
||||||
|
${xlib.dirs.archive-drive}/Services/
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "root";
|
User = "root";
|
||||||
Group = "root";
|
Group = "root";
|
||||||
Nice = 19;
|
Nice = 10;
|
||||||
|
CPUQuota = "5%";
|
||||||
IOSchedulingClass = "idle";
|
IOSchedulingClass = "idle";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
rsync-archivesta-lite = {
|
rsync-archivesta-lite = {
|
||||||
# Archivesta Lite
|
# Archivesta Lite
|
||||||
description = "Backup data using rsync";
|
description = "Backup data using rsync";
|
||||||
requisite = [ "mnt-mobile.mount" ]; # hard-code
|
# wants = [
|
||||||
|
# "mnt-mobile.mount"
|
||||||
|
# ];
|
||||||
|
# after = [
|
||||||
|
# "mnt-mobile.mount"
|
||||||
|
# ];
|
||||||
|
# requires = [
|
||||||
|
# "mnt-mobile.mount"
|
||||||
|
# ];
|
||||||
|
unitConfig.RequiresMountsFor = [
|
||||||
|
"${xlib.dirs.server-home}"
|
||||||
|
"${xlib.dirs.mobile-drive}"
|
||||||
|
];
|
||||||
script = ''
|
script = ''
|
||||||
${pkgs.rsync}/bin/rsync -rtv --delete ${xlib.dirs.server-home}/Music/ ${xlib.dirs.mobile-drive}/Music/
|
${pkgs.rsync}/bin/rsync -rtv --delete \
|
||||||
${pkgs.rsync}/bin/rsync -rtv --delete "${xlib.dirs.server-home}/Hosts/epral/Neo Backup/" "${xlib.dirs.mobile-drive}/Neo Backup/"
|
${xlib.dirs.server-home}/Music/ \
|
||||||
|
${xlib.dirs.mobile-drive}/Music/
|
||||||
|
|
||||||
|
${pkgs.rsync}/bin/rsync -rtv --delete \
|
||||||
|
"${xlib.dirs.server-home}/Hosts/epral/Neo Backup/" \
|
||||||
|
"${xlib.dirs.mobile-drive}/Neo Backup/"
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "root";
|
User = "root";
|
||||||
Group = "root";
|
Group = "root";
|
||||||
Nice = 19;
|
Nice = 10;
|
||||||
|
CPUQuota = "5%";
|
||||||
IOSchedulingClass = "idle";
|
IOSchedulingClass = "idle";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user