Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27e0889bd1 | ||
|
|
912d4b9434 |
No files matched your search
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Mail via GMX-Relay versenden (Docker-Image "hb42/smtp")
|
||||
# Mail via GMX-Relay versenden (Podman-Image "smtp-relay")
|
||||
#
|
||||
# Klappt nur direkt im Container, daher ggf. via ssh aufrufen (Annahme: remote user == local user)
|
||||
#
|
||||
@@ -12,10 +12,12 @@
|
||||
# > mail.sh hb242@pm.me "log whatever" ../log/some.log
|
||||
#
|
||||
|
||||
DOCKER=/usr/bin/docker
|
||||
MAILCONTAINER=smtp
|
||||
PODMAN=/usr/bin/podman
|
||||
SUDO="sudo -u container sh -c"
|
||||
MAILCONTAINER=smtp-relay
|
||||
MAILSERVER_IP=10.4.2.30
|
||||
SSH=""
|
||||
REMOTE=""
|
||||
|
||||
|
||||
which ip >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
@@ -27,7 +29,7 @@ else
|
||||
fi
|
||||
|
||||
if [ "$myip" != "$MAILSERVER_IP" ]; then
|
||||
SSH="ssh $MAILSERVER_IP"
|
||||
$REMOTE=yes
|
||||
fi
|
||||
|
||||
TO=$1
|
||||
@@ -44,8 +46,12 @@ fi
|
||||
# Mail body aus Datei oder STDIN holen
|
||||
CONTENT=$(cat ${1:--})
|
||||
|
||||
MAILCMD="$PODMAN exec -i $MAILCONTAINER /usr/sbin/sendmail -i -t"
|
||||
if [ ! -z "$REMOTE" ]; then
|
||||
MAILCMD="ssh $MAILSERVER_IP \"$SUDO $MAILCMD\""
|
||||
fi
|
||||
# construct mail header + content and pipe to sendmail
|
||||
cat <<EOMB | $SSH $DOCKER exec -i $MAILCONTAINER /usr/sbin/sendmail -i -t
|
||||
cat <<EOMB | $MAILCMD
|
||||
FROM: hb42@gmx.de
|
||||
TO: ${TO}
|
||||
DATE: $(date -R)
|
||||
|
||||
+6
-6
@@ -121,13 +121,13 @@ dump_postgresql() {
|
||||
check_directory $dump_dir
|
||||
|
||||
# users and roles
|
||||
log $DEBUG "$DBG > \$CONTAINER_EXEC_USER exec -u=postgres $pg_container pg_dumpall --globals-only"
|
||||
$CONTAINER_EXEC_USER exec -u=postgres $pg_container pg_dumpall --globals-only > $dump_dir/_globals.sql 2>>$LOG_FILE
|
||||
log $DEBUG "$DBG > \$CONTAINER_EXEC_USER -u=postgres $pg_container pg_dumpall --globals-only"
|
||||
$CONTAINER_EXEC_USER -u=postgres $pg_container pg_dumpall --globals-only > $dump_dir/_globals.sql 2>>$LOG_FILE
|
||||
|
||||
log $DEBUG "$DBG \$CONTAINER_EXEC_USER exec -u=postgres $pg_container psql -t -c \"select datname from pg_database where not datistemplate\""
|
||||
for db in $($CONTAINER_EXEC_USER exec -u=postgres $pg_container psql -t -c "select datname from pg_database where not datistemplate" 2>>$LOG_FILE); do
|
||||
log $DEBUG "$DBG > \$CONTAINER_EXEC_USER exec -u=postgres $pg_container pg_dump --create $db"
|
||||
$CONTAINER_EXEC_USER exec -u=postgres $pg_container pg_dump --create $db > $dump_dir/$db.sql 2>>$LOG_FILE
|
||||
log $DEBUG "$DBG \$CONTAINER_EXEC_USER -u=postgres $pg_container psql -t -c \"select datname from pg_database where not datistemplate\""
|
||||
for db in $($CONTAINER_EXEC_USER -u=postgres $pg_container psql -t -c "select datname from pg_database where not datistemplate" 2>>$LOG_FILE); do
|
||||
log $DEBUG "$DBG > \$CONTAINER_EXEC_USER -u=postgres $pg_container pg_dump --create $db"
|
||||
$CONTAINER_EXEC_USER -u=postgres $pg_container pg_dump --create $db > $dump_dir/$db.sql 2>>$LOG_FILE
|
||||
is_error $? false && return 1
|
||||
done
|
||||
return 0
|
||||
|
||||
@@ -3,13 +3,15 @@
|
||||
# entrypoint for all actions
|
||||
#
|
||||
|
||||
# 2.1.12 08.05.2025 - mail.sh an neuen Container angepasst
|
||||
# 2.1.11 05.05.2025 - Fix DB-Dump
|
||||
# 2.1.10 05.05.2025 - Postgres-Dump auf podman umgestellt
|
||||
# 2.1.9 02.05.2025 - DB-Dump erweitert, damit Dumps für mehrere postgres möglich sind
|
||||
# 2.1.8 30.04.2025 - systemctl start/stop eingebaut
|
||||
# 2.1.7 29.04.2025 - 1. Schritt zur Umstellung auf podman
|
||||
# 2.1.6 29.04.2025 - weekly backup Sa->SO
|
||||
|
||||
VER="2.1.10"
|
||||
VER="2.1.12"
|
||||
|
||||
HERE=$(dirname "$0")
|
||||
THIS_SCRIPT=$0
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
USER_CONTAINERS="homeassistant-pod codeserver jellyfin pgadmin nextcloud-pod calibre nexus git-pod caddy"
|
||||
USER_CONTAINERS="homeassistant-pod codeserver jellyfin pgadmin nextcloud-pod calibre nexus git-pod caddy.socket caddy smtp-relay roonserver"
|
||||
ROOT_CONTAINERS=
|
||||
|
||||
DOCKER_ROOT=/var/docker
|
||||
CONTAINERS_ROOT=/var/containers
|
||||
BACKUP_TARGET=$DOCKER_ROOT/tmp
|
||||
NAS_TARGET="$NAS_ROOT/daily/$HOST_NAME/backup.$DAY"
|
||||
|
||||
@@ -27,9 +28,9 @@ before_backup() {
|
||||
let local rc=0
|
||||
#dump_mariadb $DOCKER_ROOT/dump/mysql
|
||||
#let rc=rc+$?
|
||||
dump_postgresql postgres $DOCKER_ROOT/dump/postgres
|
||||
dump_postgresql ncd_pg $CONTAINERS_ROOT/dump/nextcloud
|
||||
let rc=rc+$?
|
||||
dump_postgresql pg_nextcloud $DOCKER_ROOT/dump/pg_nextcloud
|
||||
dump_postgresql gitea_pg $CONTAINERS_ROOT/dump/gitea
|
||||
let rc=rc+$?
|
||||
if [ $rc -gt 0 ]; then
|
||||
return 1
|
||||
|
||||
Reference in new issue
Block a user