redis自動安裝部署

def install_redis():redis

Information_redis='''ide

\033[1;32murl

##################################################################################################################################spa

本腳本只進行以下操做:code

一、redis 源碼包下載及安裝;orm

二、redis 配置文件存放目錄更改(考慮多實例狀況)server

三、redis-cli、redis-sever 軟鏈接到/usr/bin/blog

四、修改redis配置文件(daemonize yes、pidfile名稱及路徑、bind ip更改成內網ip、dbfilename更改成帶端口號的名稱、dir更改)ip

五、redis綁定內網ipget

六、redis啓動

七、添加開機自啓動redis(echo "" >> /etc/rc.local)

八、redis相關目錄信息:

1)、/data/redis/config配置文件路徑

2)、/data/redis/dbrdb文件路徑

3)、/data/redis/redis_serverredis相關命令文件(如:redis-server、redis-cli)

##################################################################################################################################

'''

print Information_redis

check_dir(soft_dir)

check_dir(redis_dir)

check_dir(redis_server)

check_dir(redis_config_dir)

check_dir(redis_db_dir)

url = "http://download.redis.io/releases"

add_name = ".tar.gz"

redis_name = "redis-2.6.17"

pac_name = "%s%s" % (redis_name,add_name)

os.chdir(soft_dir)

wget(url,pac_name)

NULL = os.system("tar zxvf %s > /dev/null 2>&1" % pac_name)

os.chdir(redis_name)

shutil.move("%s%s" % (soft_dir,redis_name),"%s" % redis_dir)

NULL = os.rename("%s/%s" % (redis_dir,redis_name),"%s" % redis_server)

#NULL = os.system("cp -ar * %s" % redis_server)

os.chdir(redis_server)

install_redis = os.system("make > /dev/null 2>&1")


#check redis install is OK or fail

check_code(install_redis,redis_name)


#soft link for redis-server an redis-cli

NULL = os.system("ln -s %s/src/redis-server /usr/bin/redis-server" % redis_server)

NULL = os.system("ln -s %s/src/redis-cli /usr/bin/redis-cli" % redis_server)


#config redis

os.chdir(redis_server)

shutil.copyfile("redis.conf","%s/redis_%s.conf" % (redis_config_dir,redis_port))

#NULL = os.system("cp -ar redis.conf %s" % redis_config_dir)

NULL = os.system("sed -i 's/daemonize no/daemonize yes/' %s/redis_%s.conf" % (redis_config_dir,redis_port))

NULL = os.system("sed -i 's/pidfile \/var\/run\/redis.pid/pidfile \/var\/run\/redis_%s.pid/' %s/redis_%s.conf" % (redis_port,redis_config_dir,redis_port))

NULL = os.system("sed -i 's/# bind 127.0.0.1/bind %s/' %s/redis_%s.conf" % (local_ip,redis_config_dir,redis_port))

NULL = os.system("sed -i 's/dbfilename dump.rdb/dbfilename redis_%s.rdb/' %s/redis_%s.conf" % (redis_port,redis_config_dir,redis_port))

NULL = os.system("sed -i 's~dir ./~dir %s~' %s/redis_%s.conf" % (redis_db_dir,redis_config_dir,redis_port))


#start redis

NULL = os.system("%s/src/redis-server %s/redis_%s.conf" % (redis_server,redis_config_dir,redis_port))

f = open("/etc/rc.local","a+")

f.write("%s/src/redis-server %s/redis_%s.conf" % (redis_server,redis_config_dir,redis_port))

f.close()





執行效果圖:

wKioL1MBz8mxoESvAAEMcgnkkpI997.jpg

wKiom1MBz-_R69_GAAO2BmbZ0Qo330.jpg

相關文章
相關標籤/搜索