Rewrite backup services+timers
This commit is contained in:
parent
de7714e8d6
commit
2286d85a68
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, ... }:
|
||||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
../home.nix
|
||||
|
@ -76,10 +76,11 @@
|
|||
networking.useDHCP = false;
|
||||
|
||||
|
||||
## Personal backups
|
||||
# Syncthing is a bit heavy handed for my needs, so rsync to my NAS instead.
|
||||
systemd = {
|
||||
services.backups = {
|
||||
description = "Back up personal files";
|
||||
description = "Backup /usr/store to NAS";
|
||||
wants = [ "usr-drive.mount" ];
|
||||
path = [ pkgs.rsync ];
|
||||
environment = {
|
||||
|
@ -90,32 +91,31 @@
|
|||
rcp() {
|
||||
if [[ -d "$1" && -d "$2" ]]; then
|
||||
echo "---- BACKUPING UP $1 TO $2 ----"
|
||||
rsync -rlptPJ --delete --delete-after \
|
||||
rsync -rlptPJ --chmod=go= --delete --delete-after \
|
||||
--exclude=lost+found/ \
|
||||
--exclude=@eaDir/ \
|
||||
--include=.git/ \
|
||||
--filter=':- .gitignore' \
|
||||
--filter=':- $XDG_CONFIG_HOME/git/ignore' \
|
||||
--chmod=go= \
|
||||
"$1" "$2"
|
||||
fi
|
||||
}
|
||||
rcp "$HOME/projects/" "$SRC_DIR/projects"
|
||||
pushd "$SRC_DIR"
|
||||
for dirname in *; do
|
||||
rcp "$SRC_DIR/$dirname/" "$DEST_DIR/$dirname"
|
||||
done
|
||||
rcp "$HOME/projects/" "$DEST_DIR/projects"
|
||||
rcp "$SRC_DIR/" "$DEST_DIR"
|
||||
'';
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
Nice = 19;
|
||||
IOSchedulingClass = "idle";
|
||||
User = config.user.name;
|
||||
Group = "users";
|
||||
Group = config.user.group;
|
||||
};
|
||||
};
|
||||
timers.backup = {
|
||||
timers.backups = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
partOf = [ "backups.service" ];
|
||||
timerConfig.OnCalendar = "8/2"; # every 4h from 8am
|
||||
timerConfig.OnCalendar = "*-*-* 00,12:00:00";
|
||||
timerConfig.Persistent = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ with lib.my;
|
|||
extraGroups = [ "wheel" ];
|
||||
isNormalUser = true;
|
||||
home = "/home/${name}";
|
||||
group = "users";
|
||||
uid = 1000;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue