Mon Jun 3 08:09:38 PM CEST 2024
This commit is contained in:
parent
8ba13936c7
commit
063df11269
|
@ -0,0 +1,55 @@
|
||||||
|
{ inputs, config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
mkTimer = { name, interval, serviceScript }:
|
||||||
|
let
|
||||||
|
timerName = "${name}-timer";
|
||||||
|
serviceName = "${name}-service";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
systemd.timers.${timerName} = {
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig = {
|
||||||
|
OnBootSec = interval;
|
||||||
|
OnUnitActiveSec = interval;
|
||||||
|
Unit = "${serviceName}.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.${serviceName} = {
|
||||||
|
script = ''
|
||||||
|
set -eu
|
||||||
|
${serviceScript}
|
||||||
|
'';
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = "root";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(import ./common.nix { inherit inputs config pkgs; })
|
||||||
|
./ssh
|
||||||
|
];
|
||||||
|
|
||||||
|
mkTimer {
|
||||||
|
name = "disk_check";
|
||||||
|
interval = "1h";
|
||||||
|
serviceScript = toString (pkgs.writeShellScript "disk_check" ''
|
||||||
|
REPORT_EMAIL=email@thomasave.be
|
||||||
|
ZPOOL_STATUS=$(zpool status -x)
|
||||||
|
if [ "$ZPOOL_STATUS" = "all pools are healthy" ] || [ "$ZPOOL_STATUS" = "no pools available" ]
|
||||||
|
then
|
||||||
|
printf 0 > /var/db/zpool.status
|
||||||
|
else
|
||||||
|
if [ "$(cat /var/db/zpool.status)" -eq 0 ]
|
||||||
|
then
|
||||||
|
zpool status | mail -s "ZPOOL NOT HEALTHY" $REPORT_EMAIL
|
||||||
|
printf 1 > /var/db/zpool.status
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
'');
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,7 +7,7 @@
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
export XDG_RUNTIME_DIR=/run/user/1000
|
export XDG_RUNTIME_DIR=/run/user/1000
|
||||||
export XDG_CONFIG_HOME=/home/server/.config
|
export XDG_CONFIG_HOME=/home/server/.config
|
||||||
source "$XDG_CONFIG_HOME"/zsh/secrets.sh
|
source $HOME/.secrets/Backup/env.sh
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# Create sqlite3 backup for Vaultwarden #
|
# Create sqlite3 backup for Vaultwarden #
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
RUNNING_WAYPIPE=false
|
|
||||||
SSH_CLIENT=""
|
|
||||||
CHILD_PID=$(pgrep -P "$1")
|
|
||||||
|
|
||||||
GRAND_CHILD_PID=$(pgrep -P "$CHILD_PID")
|
|
||||||
if [ "$GRAND_CHILD_PID" != 0 ]; then
|
|
||||||
GRAND_CHILD_NAME=$(ps -p "$GRAND_CHILD_PID" -o comm=)
|
|
||||||
if [ "$GRAND_CHILD_NAME" == "ssh" ]; then
|
|
||||||
CHILD_PID=$GRAND_CHILD_PID
|
|
||||||
SSH_CLIENT=$(ps -p "$CHILD_PID" -o args --no-headers | awk '{ print $2 }')
|
|
||||||
fi
|
|
||||||
if [ "$GRAND_CHILD_NAME" == "waypipe" ]; then
|
|
||||||
RUNNING_WAYPIPE=true
|
|
||||||
CHILD_PID=$(pgrep -P "$GRAND_CHILD_PID")
|
|
||||||
SSH_CLIENT=$(ps -p "$GRAND_CHILD_PID" -o args --no-headers | awk '{ print $4 }')
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if [ $RUNNING_WAYPIPE == true ]; then
|
|
||||||
PREVIOUS_SESSION_ID=$(grep -z "SSH_SESSION_ID" "/proc/$CHILD_PID/environ" | xargs -0 -n 1 | grep -oP "[0-9]*")
|
|
||||||
SSH_SESSION_ID=$RANDOM
|
|
||||||
alacritty -e zsh -c "SSH_SESSION_ID=$SSH_SESSION_ID waypipe ssh -t \"$SSH_CLIENT\" env SSH_SESSION_ID=\"$SSH_SESSION_ID\" PREVIOUS_SESSION_ID=\"$PREVIOUS_SESSION_ID\" \"zsh --login\""
|
|
||||||
else
|
|
||||||
if [ "$(ps -p "$1" -o comm=)" == "alacritty" ]; then
|
|
||||||
CWD=$(readlink -e /proc/"$CHILD_PID"/cwd)
|
|
||||||
if [ "$CWD" != "" ]; then
|
|
||||||
alacritty --working-directory "$CWD"
|
|
||||||
else
|
|
||||||
alacritty
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
alacritty
|
|
||||||
fi
|
|
||||||
fi
|
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
export XDG_CONFIG_HOME=/home/server/.config
|
source $HOME/.secrets/Backup/env.sh
|
||||||
source "$XDG_CONFIG_HOME"/zsh/secrets.sh
|
|
||||||
|
|
||||||
for _ in {1..2}; do
|
for _ in {1..2}; do
|
||||||
OUTPUT=$(echo "$ZFS_PASSPHRASE" | ssh 10.4.0.1 zfs load-key Vault/Thomas/Encrypted 2>&1);
|
OUTPUT=$(echo "$ZFS_PASSPHRASE" | ssh 10.4.0.1 zfs load-key Vault/Thomas/Encrypted 2>&1);
|
||||||
|
|
Loading…
Reference in New Issue