我正在生产中设置一个 memcached 服务器,并且希望能够通过将符号链接从一个配置更改为另一个配置来在各种内存大小之间切换,但是我不想将每个配置复制并粘贴到其他配置中,是否可以有一个带有多个子配置的主配置?
例子:
# 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
然后,在更改符号链接后,只需重新启动服务即可。或者,如果有更好的方法来实现此功能,那也将不胜感激。
答案1
看起来这些文件是由启动 memcached 的 initscript 提供的,而不是由 memcached 本身读取的。因此,您可能可以从子配置中获取主配置,例如:
/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
到您想要使用的子配置。