我正在生产中设置一个memcached服务器,并希望能够通过改变一个符号链接从一个configuration到另一个不同的内存大小之间切换,但我不想复制和粘贴每个configuration到其他configuration,是有可能有一个主configuration多个子configuration?
例:
# master config PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="128" OPTIONS="" # Name: memcached_256 # child config for cache server of 256 # include options from master config CACHESIZE="256" # Name: memcached_512 # child config for cache server of 512 # include options from master config CACHESIZE="512"
示例目录列表:
ls /etc/sysconfig memcached -> /path/to/my/version/controlled/configs/memcached_256
如果我需要升级,我可以简单地将上面的符号链接改为:
memcached -> /path/to/my/version/controlled/configs/memcached_512
然后在更换符号链接后,只需重新启动服务。 或者,如果有更好的方法来完成这个function,那也是值得赞赏的。
看起来这些文件是由启动memcached的initscript提供的,而不是由memcached自己读取的。 因此,您可能会从子configuration获取主configuration,例如:
/etc/sysconf/memcached_master :
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="128" OPTIONS=""
/etc/sysconf/memcached_256 :
. /etc/sysconfig/memcached_master CACHESIZE="256"
/etc/sysconf/memcached_512 :
. /etc/sysconfig/memcached_master CACHESIZE="512"
然后将/etc/sysconfig/memcached链接到要使用的子configuration。