/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.ini
en /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 11211
echo "flush_all" | nc -w 2 localhost 11211
printf "flush_all" | nc localhost 11211
memcflush
en las herramientas de memcache es lo que quieres:Cambie
localhost
a 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
memflush
comando:fuente
En lugar de esperar tiempos de espera, puede hacer que el comando sea instantáneo siguiendo
flush_all
elquit
comando:printf "flush_all\r\nquit\r\n" | nc localhost 11211
Alternativamente, si no tienes
nc
:printf "flush_all\r\nquit\r\n" > /dev/tcp/127.0.0.1/11211
Aunque este método no producirá una salida, aunque puede verificar que funciona verificando
stats
que hayacmd_flush
aumentado.fuente
(sleep 2; echo flush_all; sleep 2; echo quit; ) | telnet 127.0.0.1 11211
si quieres ejecutarlo de forma no interactiva
gracias a @heiko
fuente
nc. Note that I worked fine for me without either the initial
sleep` o la finalquit
. Lo hice( echo 'flush_all' ; sleep 2 ) | telnet myhost.fqdn.com 11211
en caso de que use un socket para conectarse a memcached, la sintaxis es
echo "flush_all" | nc -U ~/memcached.sock
fuente