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()
執行效果圖: