/opt/eduserver/eduserver
daje mi opcje:
Zastosowanie: / opt / eduserver / eduserver {start | stop | startphp | startwww | startooo | stopphp | stopwww | stopooo | restartphp | restartwww | restartooo | status | restart | reload | force-reload}
gdzie memcache jest moduł php istnieje memcache.ini
w /opt/eduserver/etc/php/conf.d
.
Chcę wyczyścić pamięć podręczną z wiersza polecenia. Czy mogę to zrobić w jakiś sposób bez „dotykania” jakiejkolwiek innej części serwera WWW?
Będzie to również działać przy użyciu netcat
Następnie poczekaj na „OK”.
źródło
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
w narzędziach memcache jest to, czego chcesz:Zmień
localhost
na dowolny serwer.Narzędzia memcache mogą nie zostać zainstalowane na serwerze, jeśli używasz systemu operacyjnego opartego na Debianie, możesz zainstalować go w następujący sposób:
źródło
libmemcached
.W Bash możesz użyć tej fantazyjnej składni:
W przeciwnym razie użyj
memflush
polecenia:źródło
Zamiast czekać na limity czasu można dokonać chwilowej polecenia wykonując
flush_all
zquit
poleceniem:printf "flush_all\r\nquit\r\n" | nc localhost 11211
Alternatywnie, jeśli nie masz
nc
:printf "flush_all\r\nquit\r\n" > /dev/tcp/127.0.0.1/11211
Chociaż ta metoda nie wygeneruje wyniku, możesz jednak sprawdzić, czy działa, sprawdzając,
stats
czycmd_flush
wzrosła.źródło
(sleep 2; echo flush_all; sleep 2; echo quit; ) | telnet 127.0.0.1 11211
jeśli chcesz uruchomić go nieinteraktywnie
dzięki @heiko
źródło
nc. Note that I worked fine for me without either the initial
trybu uśpienia ani finałuquit
. Zrobiłem( echo 'flush_all' ; sleep 2 ) | telnet myhost.fqdn.com 11211
w przypadku użycia gniazda do połączenia z memcached, składnia jest następująca
echo "flush_all" | nc -U ~/memcached.sock
źródło