install_mysql.sh: Create environment file for systemd service 'EnvironmentFile'.

This commit is contained in:
Christoph 2019-02-06 03:01:17 +01:00
parent 6545eddf0b
commit 70402c7f25

View File

@ -4839,55 +4839,56 @@ if $INSTALL_SYSTEMD_SERVICE ; then
error "Setting open_files_limit (LimitNOFILE) to $(ulimit -Hn) failed!" error "Setting open_files_limit (LimitNOFILE) to $(ulimit -Hn) failed!"
fi fi
if $PARALLEL_INSTALLATION ; then SYSTEMD_ENV_FILE="/etc/systemd/system/${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}.env"
SYSTEMD_ENV_FILE="/etc/systemd/system/${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}.env" echononl "Create environmet file fo systemd service.."
echo "" >> ${logdir}/main.log
echononl "Create environmet file fo systemd service.." echo "## - Create environmet file fo systemd service.." >> ${logdir}/main.log
echo "" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log
echo "## - Create environmet file fo systemd service.." >> ${logdir}/main.log echo "cat <<EOF > $SYSTEMD_ENV_FILE
echo "## -" >> ${logdir}/main.log
echo "cat <<EOF > $SYSTEMD_ENV_FILE
MYSQL_HOME=\"$MYSQL_INSTALL_DIR\" MYSQL_HOME=\"$MYSQL_INSTALL_DIR\"
EOF EOF
" >> ${logdir}/main.log " >> ${logdir}/main.log
if [[ $? -eq 0 ]] ; then if [[ $? -eq 0 ]] ; then
echo_ok echo_ok
else else
echo_failed echo_failed
error "Creating environmet file fo systemd service failed!" error "Creating environmet file fo systemd service failed!"
fi fi
cat <<EOF > $SYSTEMD_ENV_FILE cat <<EOF > $SYSTEMD_ENV_FILE
MYSQL_HOME="$MYSQL_INSTALL_DIR" MYSQL_HOME="$MYSQL_INSTALL_DIR"
EOF EOF
echononl "Add/Replace 'EnvironmentFile' variable at service file .." echononl "Add/Replace 'EnvironmentFile' variable at service file .."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "## - Add/Replace 'EnvironmentFile' variable at service file .." >> ${logdir}/main.log echo "## - Add/Replace 'EnvironmentFile' variable at service file .." >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log
if grep -q -E "^\s*EnvironmentFile\s*=" /etc/systemd/system/$MYSQL_SERVICE_FILE ; then if grep -q -E "^\s*EnvironmentFile\s*=" /etc/systemd/system/$MYSQL_SERVICE_FILE ; then
echo "perl -i -n -p -e \"s#^(\s*EnvironmentFile\s*=.*)#\#\1\nEnvironmentFile=-${SYSTEMD_ENV_FILE}#\" /etc/systemd/system/$MYSQL_SERVICE_FILE" >> ${logdir}/main.log echo "perl -i -n -p -e \"s#^(\s*EnvironmentFile\s*=.*)#\#\1\nEnvironmentFile=-${SYSTEMD_ENV_FILE}#\" /etc/systemd/system/$MYSQL_SERVICE_FILE" >> ${logdir}/main.log
perl -i -n -p -e "s#^(\s*EnvironmentFile\s*=.*)#\#\1\nEnvironmentFile=-${SYSTEMD_ENV_FILE}#" \ perl -i -n -p -e "s#^(\s*EnvironmentFile\s*=.*)#\#\1\nEnvironmentFile=-${SYSTEMD_ENV_FILE}#" \
/etc/systemd/system/$MYSQL_SERVICE_FILE >> ${logdir}/main.log 2>&1 /etc/systemd/system/$MYSQL_SERVICE_FILE >> ${logdir}/main.log 2>&1
_retval=$? _retval=$?
else else
echo "cat <<EOF >> /etc/systemd/system/$MYSQL_SERVICE_FILE echo "cat <<EOF >> /etc/systemd/system/$MYSQL_SERVICE_FILE
EnvironmentFile=-$SYSTEMD_ENV_FILE EnvironmentFile=-$SYSTEMD_ENV_FILE
EOF" >> ${logdir}/main.log 2>&1 EOF" >> ${logdir}/main.log 2>&1
cat <<EOF >> /etc/systemd/system/$MYSQL_SERVICE_FILE 2>> ${logdir}/main.log cat <<EOF >> /etc/systemd/system/$MYSQL_SERVICE_FILE 2>> ${logdir}/main.log
EnvironmentFile=-$SYSTEMD_ENV_FILE EnvironmentFile=-$SYSTEMD_ENV_FILE
EOF EOF
_retval=$? _retval=$?
fi fi
if [ "$_retval" = "0" ]; then if [ "$_retval" = "0" ]; then
echo_ok echo_ok
else else
echo_failed echo_failed
error "Adding/Replacing 'EnvironmentFile' variable at service file failed!" error "Adding/Replacing 'EnvironmentFile' variable at service file failed!"
fi fi
if $PARALLEL_INSTALLATION ; then
if grep -q -E "^\s*Alias\s*=" /etc/systemd/system/$MYSQL_SERVICE_FILE ; then if grep -q -E "^\s*Alias\s*=" /etc/systemd/system/$MYSQL_SERVICE_FILE ; then
echononl "Disable 'Alias' directive(s) at service file.." echononl "Disable 'Alias' directive(s) at service file.."