From ea7cb827fa15be79279f63c50356a7c3a1485337 Mon Sep 17 00:00:00 2001 From: David Beniamine <david.beniamine@tetras-libre.fr> Date: Mon, 29 Jul 2024 12:11:25 +0200 Subject: [PATCH] improve emails --- auto-start-reverseSSHproxy.sh | 30 ++++++++++++++++++ net-switch.sh | 59 +++++++++++++++++++++++++++++++++-- reverseSSHproxy.sh | 0 3 files changed, 87 insertions(+), 2 deletions(-) mode change 100644 => 100755 auto-start-reverseSSHproxy.sh mode change 100644 => 100755 net-switch.sh mode change 100644 => 100755 reverseSSHproxy.sh diff --git a/auto-start-reverseSSHproxy.sh b/auto-start-reverseSSHproxy.sh old mode 100644 new mode 100755 index 46a6f7b..c4754f8 --- a/auto-start-reverseSSHproxy.sh +++ b/auto-start-reverseSSHproxy.sh @@ -38,6 +38,7 @@ if [[ -f "$stateFile" ]]; then cd $reverseSSHproxyPath docker-compose down echo "normal" > "$stateFile" + do_sendmail_start root fi else if [[ $state = "normal" ]]; then @@ -45,8 +46,37 @@ if [[ -f "$stateFile" ]]; then cd $reverseSSHproxyPath docker-compose up -d echo "backup" > "$stateFile" + do_sendmail_stop root fi fi else echo "normal" > "$stateFile" fi + +do_sendmail_start() { +cat <<EOF | sendmail -t root +Subject: [$(hostname)] Serveur Tetrix injoignable + +Bonjour, + +$(hostname) viens de detecter que Tetrix est injoignable par son IP normale ($tetrixPublicIPOnOVH). +Le système d'accès à distance à Tétrix via $(hostname) (reverseSSHproxyPath) est actif, +dès que le réseau passera en mode de secours (4G), ce dernier sera joignable à nouveau. + +Cordialement, +EOF +} + +do_sendmail_stop() { +cat <<EOF | sendmail -t root +Subject: [$(hostname)] Serveur Tetrix injoignable + +Bonjour, + +$(hostname) viens de detecter que Tetrix est à nouveau joignable par son IP nornale ($tetrixPublicIPOnOVH). +Le système d'accès à distance à Tétrix via $(hostname) (reverseSSHproxyPath) est désactivé, +dès que le réseau repassera en mode de normal (Fibre), ce dernier sera joignable à nouveau. + +Cordialement, +EOF +} diff --git a/net-switch.sh b/net-switch.sh old mode 100644 new mode 100755 index bdfb65d..f2313af --- a/net-switch.sh +++ b/net-switch.sh @@ -32,6 +32,8 @@ stateFile="/opt/net-state" currentIP=`curl api.ipify.org` reverseSSHProxyPath="/opt/reverseSSHproxy.sh" +recipient="all@tetras-libre.fr" +adminemail="sysadmin@tetras-libre.fr" # check if file exist if [[ -f "$stateFile" ]]; then @@ -46,7 +48,7 @@ if [[ -f "$stateFile" ]]; then kill $pid change_dns $APIKEY $tetrixPublicIPOnOVH echo "normal" > "$stateFile" - bash send_maintenance_mail.sh modele-mail-netbascule-stop + do_sendmail_start fi else if [[ $state = "normal" ]]; then @@ -54,7 +56,7 @@ if [[ -f "$stateFile" ]]; then bash $reverseSSHProxyPath & change_dns $APIKEY $aquilaPublicIPOnOVH echo "backup" > "$stateFile" - bash send_maintenance_mail.sh modele-mail-netbascule-start + do_sendmail_stop fi fi else @@ -74,3 +76,56 @@ change_dns() { https://api.gandi.net/v5/livedns/domains/tetras-libre.fr/records/tetrixx/A } + + +do_sendmail_start() { +cat <<EOF | sendmail -t $recipient +Subject: [$(hostname)] Bascule du réseau en $1 + +Bonjour, + +La bascule automatique du réseau viens de s'activer sur $(hostname). Passage en $1. + +Pour utiliser gitlab, vous devez ajouter ces lignes dans ~/.ssh/config : + +host gitlab.tetras-libre.fr + Port 2223 + + +La bascule se fait via un changement de DNS qui peut mettre un peu de temps à ce propager (3h) max. +Pendant ce temps vous pouvez ajouter les lignes suivantes dans /etc/hosts: + +$aquilaPublicIPOnOVH nextcloud.tetras-libre.fr +$aquilaPublicIPOnOVH gitlab.tetras-libre.fr +$aquilaPublicIPOnOVH dolibarr.tetras-libre.fr +$aquilaPublicIPOnOVH passbolt.tetras-libre.fr + +En cas de problème, contactez $adminemail + +Cordialement, +EOF +} + + +do_sendmail_stop() { +cat <<EOF | sendmail -t $recipient +Subject: [$(hostname)] Bascule du réseau en $1 + +Bonjour, + +La bascule automatique du réseau viens de s'activer sur $(hostname). Passage en $1. + +Pour utiliser gitlab, pensez à supprimer les lignes concernant gitlab.tetras-libre.fr dans ~/.ssh/config. + + +La bascule se fait via un changement de DNS qui peut mettre un peu de temps à ce propager (3h) max. +Pendant ce temps vous pouvez ajouter les lignes suivantes dans /etc/hosts: + +$tetrixPublicIPOnOVH nextcloud.tetras-libre.fr +$tetrixPublicIPOnOVH gitlab.tetras-libre.fr +$tetrixPublicIPOnOVH dolibarr.tetras-libre.fr +$tetrixPublicIPOnOVH passbolt.tetras-libre.fr + +En cas de problème, contactez $adminemail +EOF +} diff --git a/reverseSSHproxy.sh b/reverseSSHproxy.sh old mode 100644 new mode 100755 -- GitLab