gameserver backups
This commit is contained in:
@@ -19,10 +19,8 @@ let
|
|||||||
timemachine = {
|
timemachine = {
|
||||||
browseable = true;
|
browseable = true;
|
||||||
"path" = "/holocron/archives/timemachine";
|
"path" = "/holocron/archives/timemachine";
|
||||||
"valid users" = "blake";
|
|
||||||
"public" = "no";
|
"public" = "no";
|
||||||
"writeable" = "yes";
|
"writeable" = "yes";
|
||||||
"force user" = "blake";
|
|
||||||
"fruit:aapl" = "yes";
|
"fruit:aapl" = "yes";
|
||||||
"fruit:time machine" = "yes";
|
"fruit:time machine" = "yes";
|
||||||
"vfs objects" = "catia fruit streams_xattr";
|
"vfs objects" = "catia fruit streams_xattr";
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ in {
|
|||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "root";
|
User = "root";
|
||||||
Group = "archives"; # make perms shake out
|
Group = "archives"; # make perms shake out
|
||||||
|
UMask = "0007"; # make perms shake out
|
||||||
# the actual script borg is using
|
# the actual script borg is using
|
||||||
ExecStart = pkgs.writeShellScript "borg-backup" ''
|
ExecStart = pkgs.writeShellScript "borg-backup" ''
|
||||||
backup() {
|
backup() {
|
||||||
@@ -175,6 +176,7 @@ in {
|
|||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "root";
|
User = "root";
|
||||||
Group = "archives"; # make perms shake out
|
Group = "archives"; # make perms shake out
|
||||||
|
UMask = "0007"; # make perms shake out
|
||||||
# the actual script borg is using
|
# the actual script borg is using
|
||||||
ExecStart = pkgs.writeShellScript "borg-gameserver_backup" ''
|
ExecStart = pkgs.writeShellScript "borg-gameserver_backup" ''
|
||||||
backup() {
|
backup() {
|
||||||
@@ -219,6 +221,7 @@ in {
|
|||||||
''
|
''
|
||||||
)
|
)
|
||||||
cfg.gameserver_baks)}
|
cfg.gameserver_baks)}
|
||||||
|
exit 0
|
||||||
}
|
}
|
||||||
start_time=$(date +%s)
|
start_time=$(date +%s)
|
||||||
backup
|
backup
|
||||||
@@ -237,7 +240,7 @@ in {
|
|||||||
description = "daily borg backup timer";
|
description = "daily borg backup timer";
|
||||||
wantedBy = ["timers.target"];
|
wantedBy = ["timers.target"];
|
||||||
timerConfig = {
|
timerConfig = {
|
||||||
OnCalendar = "*-*-* *:01:00"; # every hour, at :01
|
OnCalendar = "*-*-* *:01:00"; # every hour, at :01 (one min after db dump)
|
||||||
Persistent = true;
|
Persistent = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -248,7 +251,7 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
location = "/var/backup/mysql";
|
location = "/var/backup/mysql";
|
||||||
user = "root";
|
user = "root";
|
||||||
calendar = "*-*-* *:01:00";
|
calendar = "*-*-* *:00:00";
|
||||||
compressionAlg = "zstd";
|
compressionAlg = "zstd";
|
||||||
databases = config.services.mysql.ensureDatabases; # set to all databases defined in esure databases
|
databases = config.services.mysql.ensureDatabases; # set to all databases defined in esure databases
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user