Use restic for backups
Now that I have a working Restic backup server, use that for backups rather than rsyncing to Synology
This commit is contained in:
@@ -137,12 +137,10 @@
|
|||||||
greg.backup.jobs.zwave = {
|
greg.backup.jobs.zwave = {
|
||||||
src = "/var/lib/zwave";
|
src = "/var/lib/zwave";
|
||||||
dest = "zwave";
|
dest = "zwave";
|
||||||
id = "zwave-rsnap";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
greg.backup.jobs.hass-backup = {
|
greg.backup.jobs.hass-backup = {
|
||||||
src = "/var/lib/hass";
|
src = "/var/lib/hass";
|
||||||
dest = "hass";
|
dest = "hass";
|
||||||
id = "hass-rsnap";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ in
|
|||||||
clightning = {
|
clightning = {
|
||||||
src = config.services.clightning.replication.local.directory;
|
src = config.services.clightning.replication.local.directory;
|
||||||
dest = "hosea-clightning";
|
dest = "hosea-clightning";
|
||||||
id = "clightning";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
age.secrets.nextcloudadmin.file = ../../secrets/nextcloudadmin.age;
|
age.secrets.nextcloudadmin.file = ../../secrets/nextcloudadmin.age;
|
||||||
@@ -33,5 +38,19 @@
|
|||||||
greg.backup.jobs.nextcloud-bkup = {
|
greg.backup.jobs.nextcloud-bkup = {
|
||||||
src = "/var/lib/nextcloud";
|
src = "/var/lib/nextcloud";
|
||||||
dest = "nextcloud-backup";
|
dest = "nextcloud-backup";
|
||||||
|
pre = lib.getExe (
|
||||||
|
pkgs.writeShellApplication {
|
||||||
|
name = "nextcloud-backup-pre";
|
||||||
|
runtimeInputs = [ config.services.nextcloud.occ ];
|
||||||
|
text = "nextcloud-occ maintenance:mode --on";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
post = lib.getExe (
|
||||||
|
pkgs.writeShellApplication {
|
||||||
|
name = "nextcloud-backup-post";
|
||||||
|
runtimeInputs = [ config.services.nextcloud.occ ];
|
||||||
|
text = "nextcloud-occ maintenance:mode --off";
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,14 @@ let
|
|||||||
|
|
||||||
makeSyncFolders = _: job: {
|
makeSyncFolders = _: job: {
|
||||||
inherit (job) user;
|
inherit (job) user;
|
||||||
|
backupCleanupCommand = lib.optionalString (job.post != "") job.post;
|
||||||
|
backupPrepareCommand = lib.optionalString (job.pre != "") job.pre;
|
||||||
|
extraOptions = [
|
||||||
|
"--insecure-tls"
|
||||||
|
"--insecure-no-password"
|
||||||
|
];
|
||||||
initialize = true;
|
initialize = true;
|
||||||
|
environmentFile = config.age.secrets.restic-env.path;
|
||||||
passwordFile = config.age.secrets.restic-pw.path;
|
passwordFile = config.age.secrets.restic-pw.path;
|
||||||
paths = [ job.src ];
|
paths = [ job.src ];
|
||||||
pruneOpts = [
|
pruneOpts = [
|
||||||
@@ -17,7 +24,7 @@ let
|
|||||||
"--keep-weekly 5"
|
"--keep-weekly 5"
|
||||||
"--keep-monthly 12"
|
"--keep-monthly 12"
|
||||||
];
|
];
|
||||||
repository = "rest:nas1.shire-zebra.ts.net:30248/${job.dest}";
|
repository = "rest:https://nas1.shire-zebra.ts.net:30248/${job.dest}";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
with lib;
|
with lib;
|
||||||
@@ -46,6 +53,16 @@ with lib;
|
|||||||
default = "root";
|
default = "root";
|
||||||
description = "User to run backup as - defaults to root";
|
description = "User to run backup as - defaults to root";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pre = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
post = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
+38
-38
@@ -1,39 +1,39 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 64uajw Ewg5eQIXzG1qM7mNbhEIUIs+OLZD7+i/IRkKyStDNC0
|
-> ssh-ed25519 64uajw xMCV1uHiwk2s83vNDmNRQtszWxG0elyWmFpJyKF7dyE
|
||||||
yYfXIZKW4pyU3STsjZbKWG5XCQjpiOg9SYXDH/PoQEc
|
pWwLY7pOkx+SbunNzpNVkGWNvThUY9Kd7iCNsf8DFxo
|
||||||
-> ssh-ed25519 oyEmTw lDC3PWUfz7ejnZdjEEod2HkPj4L6qJ0A3c9tBGOjMzo
|
-> ssh-ed25519 oyEmTw NFreBngEA4Hs5RGSXJA9eWyC+k4nYzax51m9uQDGxRs
|
||||||
aiGSnwcDeJqDHhte+DO3aUDpFDtZX9JhRVMIc/rvKI0
|
n8/QT7nheKFK0FVEefaUjmc2YQsUwJwRWRCMrF/Of48
|
||||||
-> ssh-ed25519 mOmPfg CV4w75sfNgoaVEOfHtfdUE//pRK90N6Fe6P+psqM12E
|
-> ssh-ed25519 mOmPfg MEMstFCiUrYvfuSl7O3DbSsZ/TH7LGlvI3VEBhliJn0
|
||||||
opufb+AidJt2+zRIlxM9FDsHFlvDaC1MUEQYOFQ/03g
|
JiAllPT8Vrrk3VvzpWIISh1LBx6CaEEICaGHbP5J1eg
|
||||||
-> ssh-ed25519 YJiRbw UN4pZVqUPRKILbDQvXbl2NS+PfQhbz16VenR7ZqODg0
|
-> ssh-ed25519 YJiRbw fOv0GutPkOTG4JSUrFoFrDRy3KEaGbmyLSJi3Qo/uVQ
|
||||||
fFuJo2ruH5+JyLkcSrlbsQyoRHz7I2qV2JtV2a0BNBI
|
dDY4eOArLCdfzx3H8xSCRcxHfw8PHc1iMsrgyiUexM4
|
||||||
-> ssh-ed25519 aY2AXA GOPXUrd+z6aGnYaB8Yy+torLm6/Cl8Oc464UMO3PxAg
|
-> ssh-ed25519 aY2AXA iKmeIX4giuXtyu+H2elcdpLcf5fbQVEOjTzuGkIX8V0
|
||||||
s/3dZm12hV/sCfV+PYQE6NcLbhj9WxuTZDMjGs3NUVU
|
W8liPVNdgrgOdFr1D/jI3pFrxA+vzEPYlY1hnjHq1Q8
|
||||||
-> ssh-ed25519 xNtnoA mmo3c8KukkPPuAs8ivBXWTl/YjGci2dSYDjwPHF1dFU
|
-> ssh-ed25519 xNtnoA 0Scb7978OxwSh3Oc0s1wkX3GgDHT5iIp46Lb2wNggRc
|
||||||
zxoRSVtlrA1wxsZSqMe/g5l614q/46aS6efCe0tXiCE
|
oixJJfjMnztzntmFNOJsa0iJ+USuITKMYzbsmzVe8Aw
|
||||||
-> ssh-ed25519 AQhf1g hclpuHQVYUDRg3dJV5hDDIN34MhoZYkntKeXKQFbFm8
|
-> ssh-ed25519 AQhf1g x4tuPyM+aMU52YE9IgKKwCa6iN1rzuAUWON9kbDSNDE
|
||||||
ZiTJ4BG5+JLcCEc7rlc5yceIJAO/WQQHp10NKqzmfB4
|
CLiT/7bQE44JWrgJpRi9rp+ZxhRP/34cVU0mA8OVS4k
|
||||||
-> ssh-ed25519 B8wa7Q T/H2CRjsHWI6msKS02gUIZr0vqa/w0AP0lI4tEXUbVY
|
-> ssh-ed25519 B8wa7Q 8ZR3idfNM6X74gK4LZLm5VblQ/ceBG3eDCrnKRk1MzQ
|
||||||
MO6A+ifsqnfpd9Dt7WUlFRbyXGi/M1nHiTn1p5+fqso
|
OkYDODBQ8/nY80qu4CMgNL6DrvpCMgLe3foxTTZbGl8
|
||||||
-> ssh-ed25519 8UnW5Q IjtkN3m/G4PcFWR5Mli3h9rTdjukRfvGZX203Cb45FI
|
-> ssh-ed25519 8UnW5Q ro+1M6W5gzZMJRI38VQhiwvUonSBiYvW1+Pe3KHifHU
|
||||||
SBABmggmxTh0IJ36rxitTMz7hylWMrmKwCVMXiU20Wk
|
tVHVC+xcgYG9yqFvY853VXAu913+2G80oYdJHc8vTyQ
|
||||||
-> ssh-ed25519 0/WsKg +LrsikPKc4Jgd9pV+43TT2FDeG6QeGT1RGLhhsd0KxQ
|
-> ssh-ed25519 0/WsKg UpHvP87FdyLX2grLl3aLwUoK3T9ohsMN7HgyAkEp/zA
|
||||||
LyW1q6pXCDf25dghnmvTrYZl5zVyJoxw+ZSLPjE/LQs
|
xzTtsQfEYh3F+DqO76tNZNWupF8TwwsuiqRb5FlbCF8
|
||||||
-> ssh-ed25519 Nl/5yA J1fk01LgEQdtLqsmKvlUk5f1dQGPBsMv0N7/QsbQYA4
|
-> ssh-ed25519 Nl/5yA F1e6LCghJTL6w2LR60cXOuXx7TslubVkhNTjILT9NxM
|
||||||
91l7hzj0v8w2UC8gbyyKjpkTPk+4ZcQJy7ZRkk5vXsY
|
D2wt5laJV575v7iW1MlQgNRrJNVmf89w+FJiCqfgHb8
|
||||||
-> ssh-ed25519 GdLgCQ cjOoJLTsSaiqov21M2iBSys++aQGfMzswmeJxl0dtg8
|
-> ssh-ed25519 GdLgCQ gap9KcQwvkt3QMMuQY5ant6SSHEQyfwRTLcuoFxh4gk
|
||||||
dSTAbAzuNXtdFyN6T/YWEwT0asrG9uayFMESPpY10Do
|
V7M97uT4NIDL5cZDkGDQXnlQC+BjPC/ibF8w9IMOPno
|
||||||
-> ssh-ed25519 tOH/HQ 1DPUq9Ef6ENEvWX4cSFkXq8KoXhprK7gLc1HORDEcys
|
-> ssh-ed25519 tOH/HQ 0t/AK80wx9bvGdNlZ8BUUwA0vAB27ajwi22snpcZKDo
|
||||||
RWDaxcbXnvXwqntWEv9WJ/fmw8A9WlChGLd/0EFRBSc
|
0cFKSEAsQoCAVedOFZjNsxHZvLQKF53n4ltn3WlY2WE
|
||||||
-> ssh-ed25519 FpzvfQ zJsqgeZSk61DPoJL0du/m2XppDKvmTw9c8h+RXQGg30
|
-> ssh-ed25519 FpzvfQ iUMGpA4zfdodvKZsKmUiG4UB0dBaLtDEUoEghCF5SD8
|
||||||
T7z2B/LREWRbebArcZrfgACyZjlLATdodF6c2XBC/uc
|
FDp9+CN035AN0QelGGiKfpvtqg9TZe75z3Clm+Acx+s
|
||||||
-> ssh-ed25519 kdPvzQ CBVyfDzdq4WSg+2a6tKsK7IXN5oyPbsH4ObB1daLRGA
|
-> ssh-ed25519 kdPvzQ pI2kKHVuVhCv3fvJX064PFO7mKGeZOR9ur0GcAD+byg
|
||||||
W/D33JgAphkQtkkF/6jAKPYOialqVHT7w+5Aly3v+ME
|
X7FlMLyHzcwnb1NqP3XJEM36x4UWzRyim/J43O0Xz6s
|
||||||
-> ssh-ed25519 onmXpg nuCsyliwCeUWG9FIxltmf0YPqmKinQ9q04TLYyQIkQI
|
-> ssh-ed25519 onmXpg mje9jM5JkVkaflDUvAs/TLpE1c4QDdQpz3AuOFiJoSc
|
||||||
CeHPwXmbsAUAoejyRg2yDgbJZLIMwwXtlX1KJzmnSHs
|
YZ/jyd/5VPLaj4SYtcDivOq78okQtfIpydVQ8JZjkWM
|
||||||
-> ssh-ed25519 CnhD0g RET0yPo/uOqifqTjYjFpYhuSrgRRgc00oywq1AkZSUI
|
-> ssh-ed25519 CnhD0g vQiUwGRgTmr9iqR9J0BpivLm/sHy7CDK9ho8iVFoXzA
|
||||||
Z+FNTt7KoWk/qQGqcqSJO//+Pa6+L/quGn0a2/EUmFA
|
nvSuNyiyC2MuD24UOElUbacM/DudgXA/hXZbrT3hbp8
|
||||||
-> ssh-ed25519 4ep2UA V+3GuIC9vXloW0FB7TOvKKmKsbGD6ROL3z84vrH6DwU
|
-> ssh-ed25519 4ep2UA UnqHhlPHdqtnLIy/WTxDALUIXVuyvoaKue1dBr8rwXM
|
||||||
j0DeGO3jXGLLDGck3kEPeCu8SE2oGcFaRQnLdHanFEc
|
nIlLZYRq8FxOBaUMBvCh/20RuzLTy/66xTcay8PnrVQ
|
||||||
--- +kvw9Qfn56wQsY30bZ5CfE2/FvEKfph0S2148IglJt4
|
--- mxVIwN+chR3Laf2ALk3gjAhOTjxC8TrfhTy7VAaUTNI
|
||||||
JKÅ�Ð�ÎXûD¸p=Y_7S´JšŒ`1cÔ/±÷ˆÔ4Ôô׎5=Áð»»²P¾[cùLÁsæü.^žž§O¹I@BDQšE$ÃDØ™�á†ö…â]`�†ôâêÎ>ìŽçB*Ha¤¼ÎÎå2Ía³”Á*7ý’žªØLJd
|
àÑeaˆWSVÊ> ¼t¨/_ñéÞ×– BÚ{g(ëwmRãeë\æ\␍¸ E&¹Ž�NØR7ñ)óhêfŠ�@M;“Án¨"D¨‰Ö+�hóUQ'Ã�à±»œ±VâôTûU¾†¢ÃiÔµ$¬3ZJû«T8
|
||||||
Reference in New Issue
Block a user