#!/bin/bash # Rocky 9 compatible . /usr/src/k_framework/main.sh SCRIPT_NAME="Memcached Install" VERSION="1.1.1" k_start k_config_details k_detect_os if (( centos_version != 6 )); then # centos 7 / rocky 9 if hash memcached 2> /dev/null; then report "Memcached already installed" 0 else yum -y install memcached if [[ "$GUI_PRESENT" == "1" ]]; then systemctl enable memcached systemctl restart memcached fi if hash memcached 2> /dev/null; then report "Memcached installed" 4 else report "Failed to install memcached. Try to do it manually" 1 fi fi else # centos 6 if [ -f /etc/init.d/memcached ]; then report "Memcached already installed" 0 else yum -y install memcached if [[ "$GUI_PRESENT" == "1" ]]; then chkconfig --levels 2345 memcached on /etc/init.d/memcached restart fi if [ -f /etc/init.d/memcached ]; then report "Memcached installed" 4 else report "Failed to install memcached. Try to do it manually" 1 fi fi fi CFG="/etc/sysconfig/memcached" grep "127.0.0.1" $CFG &>/dev/null if [ "$?" == "1" ]; then report "Changing memcached bindaddr to 127.0.0.1" 3 sed -i 's/OPTIONS=""/OPTIONS="-l 127.0.0.1 -U 0"/g' $CFG service memcached restart #check if file was actually changed grep "127.0.0.1" $CFG &>/dev/null if [ "$?" == "0" ]; then report "Memcached bindaddr changed to 127.0.0.1" 0 else report "Memcached bindaddr was NOT changed to 127.0.0.1. Please check file $CFG manually. OPTIONS line should look like this:" 2 report "OPTIONS=\"-l 127.0.0.1\" -U 0" 2 fi fi if cat $CFG | grep "OPTIONS" | grep -q "\-U 0"; then report "UDP is disabled" 0 else report "UDP is enabled" 2 sed -i 's/OPTIONS.*/OPTIONS=\"-l 127.0.0.1 -U 0\"/' $CFG service memcached restart fi /usr/src/k_framework/helpers/memcached/memcached_check.sh k_exit $EXIT_CODE