/opt/eduserver/eduserver me da opciones:
Uso: / opt / eduserver / eduserver {start | stop | startphp | startwww | startooo | stopphp | stopwww | stopooo | restartphp | restartwww | restartooo | status | restart | reload | force-reload}
donde Memcache es el módulo php existe memcache.inien /opt/eduserver/etc/php/conf.d.
Quiero borrar la memoria caché de la línea de comando. ¿Puedo hacerlo de alguna manera sin 'tocar' ninguna otra parte del servidor web?

Esto también funcionará usando netcat
Entonces solo espera el "OK".
fuente
printf "flush_all\nquit\n" | nc -q -1 127.1 11211echo "flush_all" | nc -w 2 localhost 11211printf "flush_all" | nc localhost 11211memcflushen las herramientas de memcache es lo que quieres:Cambie
localhosta lo que sea su servidor.Es posible que las herramientas de memcache no se instalen en el servidor, si está ejecutando un sistema operativo basado en Debian, puede instalarlo así:
fuente
libmemcached.En Bash puedes usar esta elegante sintaxis:
De lo contrario, use el
memflushcomando:fuente
En lugar de esperar tiempos de espera, puede hacer que el comando sea instantáneo siguiendo
flush_allelquitcomando:printf "flush_all\r\nquit\r\n" | nc localhost 11211Alternativamente, si no tienes
nc:printf "flush_all\r\nquit\r\n" > /dev/tcp/127.0.0.1/11211Aunque este método no producirá una salida, aunque puede verificar que funciona verificando
statsque hayacmd_flushaumentado.fuente
(sleep 2; echo flush_all; sleep 2; echo quit; ) | telnet 127.0.0.1 11211si quieres ejecutarlo de forma no interactiva
gracias a @heiko
fuente
nc. Note that I worked fine for me without either the initialsleep` o la finalquit. Lo hice( echo 'flush_all' ; sleep 2 ) | telnet myhost.fqdn.com 11211en caso de que use un socket para conectarse a memcached, la sintaxis es
echo "flush_all" | nc -U ~/memcached.sockfuente