Files
shell_sequencer/seqs/basics.sh

82 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# Collection of simple setup tasks
# e.g. Ability to send mail (ssmtp)
# Get script working directory
# (when called from a different directory)
WDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >>/dev/null 2>&1 && pwd )"
WSUBDIR="${WDIR}/basics"
#step_config() {
# echo "Called once before executing steps."
# echo "e.g. to source a config file:"
# #. "$CONFIG_FILE"
#}
step_10_info() { echo "ssmtp installation"; }
step_10_alias() { ALIAS="ssmtp"; }
step_10() {
exe apt update && apt install "$SSMTP_DEPS"
endReturn -o $? "ssmtp installation failed"
}
SSMTP_DEPS="ssmtp"
step_11_info() { echo "ssmtp setup"; }
step_11_alias() { ALIAS="ssmtpSetup"; }
step_11() {
if [ ! -f "$CONFIG_FILE_SSMTP" ] ; then
echoerr " [E] User config ($CONFIG_FILE_SSMTP) not found"
echoerr " See $CONFIG_FILE_SSMTP_TEMPLATE"
return 1
fi
addConf -c -f "$CONFIG_FILE_SSMTP" "$CONFIG_LOC_SSMTP"
endReturn -o $? "Could not write ssmtp configuration"
if [ ! -f "$CONFIG_FILE_SSMTP_AL" ] ; then
echoerr " [W] User aliases ($CONFIG_FILE_SSMTP_AL) not found"
echoerr " See $CONFIG_FILE_SSMTP_TEMPLATE or modify $CONFIG_LOC_SSMTP_AL directly"
return 1
fi
addConf -c -f "$CONFIG_FILE_SSMTP_AL" "$CONFIG_LOC_SSMTP_AL"
endReturn -o $? "Could not write ssmtp aliases"
}
CONFIG_LOC_SSMTP="/etc/ssmtp/ssmtp.conf"
CONFIG_LOC_SSMTP_AL="/etc/ssmtp/revaliases"
CONFIG_FILE_SSMTP="$WSUBDIR/ssmtp.cfg"
CONFIG_FILE_SSMTP_TEMPLATE="${CONFIG_FILE_SSMTP}.example"
CONFIG_FILE_SSMTP_AL="$WSUBDIR/revaliases.cfg"
CONFIG_FILE_SSMTP_AL_TEMPLATE="${CONFIG_FILE_SSMTP}.example"
step_13_info() {
echo -n "Send test E-Mail to "
if [ -z $2 ] ; then echo "<MAILADDRESS>"; else echo "$2"; fi
}
step_13_alias() { ALIAS="ssmtpTest"; }
step_13() {
if [ ! -z "$2" ] || [ "$2" == "" ] ; then
echoerr " [E] No mailaddress provided"
fi
exep "echo \"Subject: sendmail test\" | sendmail -v $2"
}
step_15_info() { echo "ssmtp help"; }
step_15_alias() { ALIAS="ssmtpHelp"; }
step_15() {
echo " Configuration files expected by this seq:"
echo
echo " - $CONFIG_FILE_SSMTP"
echo " (see template: $CONFIG_FILE_SSMTP_TEMPLATE)"
echo " - $CONFIG_FILE_SSMTP_AL optional"
echo " (see template: $CONFIG_FILE_SSMTP_AL_TEMPLATE)"
echo
echo " ssmtp configuration files"
echo
echo " - $CONFIG_LOC_SSMTP"
echo " - $CONFIG_LOC_SSMTP_AL"
}
VERSION_SEQREV=9
. /usr/local/bin/sequencer.sh