/opt/eduserver/eduserver
me donne des options:
Utilisation:/opt/eduserver/eduserver {start | stop | startphp | startwww | startooo | stopphp | stopwww | stopooo | restartphp | restartwww | restartooo | status | restart | reload | force-reload}
où memcache est le module php il y a memcache.ini
dans /opt/eduserver/etc/php/conf.d
.
Je veux effacer le memcache de la ligne de commande. Puis-je le faire d'une manière ou d'une autre sans toucher à aucune autre partie du serveur Web?
oui. vous pouvez effacer le memcache. essayer:
telnet localhost 11211
flush_all
quit
si le memcache ne fonctionne pas sur localhost 11211, vous devrez l'ajuster.
Cela fonctionnera également en utilisant netcat
echo "flush_all" | nc -q 2 localhost 11211
Attendez ensuite le "OK".
memcflush
dans les outils memcache est ce que vous voulez:
memcflush --servers=localhost:11211
Remplacez localhost
par votre serveur.
Les outils memcache peuvent ne pas être installés sur le serveur, si vous exécutez un système d'exploitation basé sur Debian, vous pouvez l'installer comme ceci:
Sudo apt-get install libmemcached-tools
Dans Bash, vous pouvez utiliser cette syntaxe sophistiquée:
echo flush_all > /dev/tcp/localhost/11211
Sinon, utilisez la commande memflush
:
memflush --servers=localhost
Plutôt que d'attendre des délais d'attente, vous pouvez rendre la commande instantanée en suivant flush_all
avec la commande quit
:
printf "flush_all\r\nquit\r\n" | nc localhost 11211
Alternativement, si vous n'avez pas nc
:
printf "flush_all\r\nquit\r\n" > /dev/tcp/127.0.0.1/11211
Bien que cette méthode ne produise pas de sortie, vous pouvez vérifier qu'elle fonctionne en vérifiant stats
pour voir que cmd_flush
augmenté.
(sleep 2; echo flush_all; sleep 2; echo quit; ) | telnet 127.0.0.1 11211
si vous souhaitez l'exécuter de manière non interactive
merci à @heiko
dans le cas où vous utilisez un socket pour vous connecter à memcached la syntaxe est
echo "flush_all" | nc -U ~/memcached.sock