X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=blobdiff_plain;f=primary-setup;h=df30f294662019352acd32ac79d9251a7f391b87;hp=7699b17548f4a18af89def047744c399892c1f66;hb=HEAD;hpb=b18dade73dedfe69aa741f8417947d83c4208f2d diff --git a/primary-setup b/primary-setup index 7699b17..5f415c9 100755 --- a/primary-setup +++ b/primary-setup @@ -1,38 +1,84 @@ #!/bin/bash +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. + +# Copyright 2024 Ian Kelling + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # usage $0 [MAIL_HOST] # setup things which involve being the primary host or not -source /usr/local/lib/err +set -e; . /usr/local/lib/bash-bear; set +e -pre="${0##*/}:" +script_name="${BASH_SOURCE[0]}" +script_name="${script_name##*/}" +pre="$script_name:${0##*/}:${SSH_CLIENT:+ $HOSTNAME:}" m() { printf "$pre %s\n" "$*"; "$@"; } e() { printf "$pre %s\n" "$*"; } err() { echo "[$(date +'%Y-%m-%d %H:%M:%S%z')]: $0: $*" >&2; } - +# service maybe +serm() { + local service + service="${*: -1}" + if [[ ! -s /etc/systemd/system/$service ]]; then + return 0 + fi + m "$@" +} [[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" if [[ $1 ]]; then new_host=$1 if [[ $new_host == localhost ]]; then - mailhost_p=1 new_host=$HOSTNAME - else - mailhost_p=0 fi + m sed -ri "s/MAIL_HOST=.*/MAIL_HOST=$new_host/" /a/bin/bash_unpublished/source-state +fi +source /a/bin/bash_unpublished/source-state - # https://www.robustperception.io/how-to-have-labels-for-machine-roles - dir=/var/lib/prometheus/node-exporter - if [[ -e $dir ]]; then - cat > $dir/mailhost.prom < $dir/mailhost.prom </dev/null; then @@ -40,13 +86,14 @@ if dpkg -s rss2email &>/dev/null; then # arbtt disabled for now #DISPLAY=:0 arbtt-capture --sample-rate=10 & m systemctl --now enable rss2email.timer - # off is in mail-setup. no reason for this to be in the rss2email block. - m systemctl --now enable btrbk.timer else - m systemctl --now disable btrbk.timer + files=(/sysd-mail-once/btrbk*) + if (( ${#files[@]} )); then + rm -f ${files[@]} + fi - m systemctl stop rss2email.service - m systemctl --now disable rss2email.timer + serm systemctl stop rss2email.service + serm systemctl --now disable rss2email.timer # arbtt disabled for now # for ((i=0; i<10; i++)); do # killall arbtt-capture || break