Created
August 21, 2019 07:14
-
-
Save benbonnet/cce345eda4044f179b060aeb42fe44a3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function createRedisInstance() { | |
export BASE_PATH=$HOME/redis-storage; | |
export INSTANCES_COUNT=$(sudo find $BASE_PATH -maxdepth 1 -type d | wc -w); | |
export PORT=$1 | |
export REDIS_PASSWORD=$2 | |
export DBNAME=redis$PORT; | |
export INSTALLFOLDER=$BASE_PATH/$DBNAME; | |
export CONFIGFILE=$INSTALLFOLDER/redis.conf; | |
export SYSTEMDFILE=/etc/systemd/system/$DBNAME.service; | |
export PIDFILE=$INSTALLFOLDER/redis.pid; | |
export LOGFILE=$INSTALLFOLDER/redis.log; | |
export DUMPFILE=$INSTALLFOLDER/dump.rdb; | |
export DATADIRECTORY=$INSTALLFOLDER/data; | |
sudo mkdir -p $INSTALLFOLDER; | |
sudo chown -R redis:redis $INSTALLFOLDER; | |
sudo mkdir -p $DATADIRECTORY; | |
sudo chown -R redis:redis $DATADIRECTORY; | |
sudo cp -p $HOME/redis-storage/redis.conf.orig $CONFIGFILE; | |
sudo sed -i "s|pidfile .*|pidfile $PIDFILE|" $CONFIGFILE; | |
sudo sed -i "s|logfile .*|logfile $LOGFILE|" $CONFIGFILE; | |
sudo sed -i "s|dir .*|dir $DATADIRECTORY|" $CONFIGFILE; | |
sudo sed -i "s|port 6379|port $PORT|" $CONFIGFILE; | |
sudo sed -i "s|bind .*|bind 0.0.0.0|" $CONFIGFILE; | |
sudo sed -i "s|# requirepass .*|requirepass $REDIS_PASSWORD|" $CONFIGFILE; | |
sudo cp -p $HOME/redis-storage/redis.service.orig $SYSTEMDFILE; | |
sudo sed -i "s|ExecStart=.*|ExecStart=/usr/local/bin/redis-server $CONFIGFILE|" $SYSTEMDFILE; | |
sudo sed -i "s|ReadWriteDirectories=.*|ReadWriteDirectories=$DATADIRECTORY|" $SYSTEMDFILE; | |
sudo sed -i "s|PIDFile=.*|PIDFile=$PIDFILE|" $SYSTEMDFILE; | |
sudo systemctl enable $DBNAME.service; | |
sudo systemctl start $DBNAME.service; | |
} | |
createRedisInstance "$@"; exit |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment