/opt/eduserver/eduserver
me dá opções:
Uso: /opt/eduserver/eduserver {start|stop|startphp|startwww|startooo|stopphp|stopwww|stopoo|restartphp|restartwww|restartooo|status|restart|reload|force-reload}
onde o memcache é o módulo php que existe memcache.ini
no /opt/eduserver/etc/php/conf.d
.
Eu quero limpar o memcache da linha de comando. Posso fazer isso de alguma forma sem 'tocar' em qualquer outra parte do servidor web?
sim. você pode limpar o memcache. tentar:
se o memcache não for executado no localhost 11211, você terá que ajustá-lo.
Isso também funcionará usando netcat
Depois é só esperar o "OK".
memcflush
nas ferramentas do memcache é o que você deseja:Mude
localhost
para qualquer que seja o seu servidor.As ferramentas do memcache podem não estar instaladas no servidor, se você estiver executando um sistema operacional baseado em Debian, você pode instalá-lo assim:
No Bash você pode usar esta sintaxe sofisticada:
Caso contrário, use
memflush
o comando:(sleep 2; echo flush_all; sleep 2; echo quit; ) | telnet 127.0.0.1 11211
se você quiser executá-lo de forma não interativa
obrigado a @heiko
Em vez de esperar por tempos limite, você pode tornar o comando instantâneo seguindo
flush_all
oquit
comando:printf "flush_all\r\nquit\r\n" | nc localhost 11211
Alternativamente, se você não tiver
nc
:printf "flush_all\r\nquit\r\n" > /dev/tcp/127.0.0.1/11211
Embora esse método não produza uma saída, embora você possa verificar se funciona verificando
stats
se issocmd_flush
aumentou.caso você use um soquete para se conectar ao memcached, a sintaxe é
echo "flush_all" | nc -U ~/memcached.sock
Aqui está uma função para liberar o memcached via PHP, caso você precise atualizá-lo sem fazer login no ssh ...
Você pode apenas http://yourserver.com/memflush.php
Chame este arquivo de memflush.php