-
1 Anexo(s)
Programa Simples Para limpeza do Thunder 3.1
Galera, fiz esse codigo simples em c para fazer a limpeza do meu thunder 3.1 com a remoção tambem do arquivo no banco de dados, segue o codigo fonte em anexo.. é so copiar o arquivo para a pasta dos fontes do thunder e alterar as informações de conexão de acordo com as do seu db, assim como a pasta raiz do seu thunder.
depois é so compilar com o comando:
g++ -o clean_thunder clean_thunder.cpp utils.cpp -Wall -O2 -lmysqlclient -ldl
depois disso so copiar o arquivo thunder_clean para o lugar que queira, dar as permissões de execução e colocar no cron.
espero que ajude os que ainda estão precisando!:hello:
-
Re: Programa Simples Para limpeza do Thunder 3.1
Muito bom amigo, será de grande utilidade para os usuarios do thunder 3.1...
-
Re: Programa Simples Para limpeza do Thunder 3.1
Muito boa iniciativa ajudará a muitos...
-
Re: Programa Simples Para limpeza do Thunder 3.1
Parabéns.... muito bom..... vai ser de muita ajuda.... até.
-
Re: Programa Simples Para limpeza do Thunder 3.1
Parabens, ja estou copilando ele para testar aqui
Amanha , ja vai ter nego vendendo no mercado livre KKKKK
-
Re: Programa Simples Para limpeza do Thunder 3.1
Rapaz não sei porque acho qu terá mesmo ....
-
Re: Programa Simples Para limpeza do Thunder 3.1
Whatever... desde que distribuam os fontes junto, pode vender.
-
Re: Programa Simples Para limpeza do Thunder 3.1
Ele funciona no TC 3.0 tbm ou só no TC 3.1?
-
Re: Programa Simples Para limpeza do Thunder 3.1
-
Re: Programa Simples Para limpeza do Thunder 3.1
Citação:
Postado originalmente por
minelli
Somente 3.1 esse ai.
Obrigado Minelli...
As vezes o meu TC 3.0 trava e para de funcionar, dai eu preciso reiniciar ele para voltar a funcionar, o que pode ser? Uso o Debian...
-
Re: Programa Simples Para limpeza do Thunder 3.1
Geralmente memoria monitore...
-
Re: Programa Simples Para limpeza do Thunder 3.1
Vou fazer um teste e depois posto o resultado... Lembrando que nao é sempre que ele trava, isso ocorre 1 vez a cada 15 dias mais ou menos...
-
Re: Programa Simples Para limpeza do Thunder 3.1
para o 3.0 você pode usar um shellscript pra percorrer as bases e ir removendo os arquivos.. segue abaixo:
#!/bin/sh
data=`date +"%Y-%m-%d" -d "1 week ago"`
dirs=`find /thunder/ -name domain.db`
for d in $dirs
do
lista="init"
dir=`dirname $d`
echo "entered in $dir."
while [ -n "$lista" ]
do
lista=`sqlite3 $dir/domain.db "select file from thunder where last_request < \"$data\" and requested = 0 limit 100;"`
for i in $lista
do
sqlite3 $dir/domain.db "delete from thunder where file=\"$i\""
if rm "$dir/$i" > /dev/null
then
echo "removed $i..."
fi
done
done
done
-
Re: Programa Simples Para limpeza do Thunder 3.1
compilei aqui mas deu a seguinte msg:
utils.cpp: In function âstd::string XOR(std::string, std::string)â:
utils.cpp:435: warning: statement has no effect
utils.cpp: In function âstd::string url2request(std::string&)â:
utils.cpp:249: warning: control reaches end of non-void function
utils.cpp: In function âstd::string url2host(std::string&)â:
utils.cpp:237: warning: control reaches end of non-void function
O quye pode ser?
-
Re: Programa Simples Para limpeza do Thunder 3.1
verifica se gerou o objeto.. esse erro se não me engano é no utils.. mas não impede de gerar o objeto não.. se gerou ta ok
-
Re: Programa Simples Para limpeza do Thunder 3.1
Tem que dar uma revisada no utils, quando eu fiz eu era iniciante hehe :)
-
Re: Programa Simples Para limpeza do Thunder 3.1
Citação:
Postado originalmente por
echizen
verifica se gerou o objeto.. esse erro se não me engano é no utils.. mas não impede de gerar o objeto não.. se gerou ta ok
Bom dia Echizen. Sou iniciante em C mas se vc fala do arquivo clean_thunder , ele gerou,. mas ao executar o comando . clean_thunder nada aconteceu
-
Re: Programa Simples Para limpeza do Thunder 3.1
Citação:
Postado originalmente por
osmano807
Tem que dar uma revisada no utils, quando eu fiz eu era iniciante hehe :)
Bom dia Osmano. primeiro quero te parabenizar pelo desenvolvimento do tc3.1 aqui ta funcionando legal;Qt ao utils, sou muito mais iniciante do que vc ehehee,to um pouco perdido.
-
Re: Programa Simples Para limpeza do Thunder 3.1
sei que tem muito tempo.. mas só pra deixar a resposta.. você precisa verificar o codigo antes de compilar.. configurar as suas informações de db e diretorio de armazenamento, provavelmente ele não conseguiu efetuar a conexão com seu db.
-
Re: Programa Simples Para limpeza do Thunder 3.1
para aqueles que erro ocorre *** buffer overflow detected ao executar o aplicativo encontrar e alterar o valor no código-fonte na seguinte linha número 66 se não me engano
char busca[200]
aumentar o valor de 200 a que acharem melhor e recompilar
-
Re: Programa Simples Para limpeza do Thunder 3.1
Galera tenho thunder 3.1 instalando rodando normalmente, so que o hd encheu ai ja viu né? o clean que tem aki no forum ou que ja peguei de outros sites nao funciona. da sempre da erro:
agendamento no cron ou digitando direto no terminal ele sempre apresenta o mesmo erro.
0 * * * * root /etc/thunder/./clean -l 90 -h localhost -d thunder -u root -p senha
error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
com o comando ldd /etc/thunder/clean
mostra o sequinte resultado:
linux-gate.so.1 => (0xf7730000)
libmysqlclient.so.16 => not found
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf762c000)
libm.so.6 => /lib32/libm.so.6 (0xf7606000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf75e8000)
libc.so.6 => /lib32/libc.so.6 (0xf74a1000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7488000)
/lib/ld-linux.so.2 (0xf7731000)
como se a libmysqlclient nao estive instalada: uso debian 6 64bits.
e quando digito o comando para instalar a biblioteca avisa que já é a ultima versao:
apt-get install libmysqlclient16
Testei a versao para compilar. so que o mesmo nao compila, fiz todas as auterações necessarias, como: senha do banco de dados, localizaca do diretorio etc..
comando para compilar:
g++ -o clean clean_thunder.ccp
tem que ter o arquivo utils.h no mesmo diretorio para poder compilar;
erro que esta aparecendo:
/tmp/ccGKCPqq.o: In function `main':
clean_thunder.cpp:(.text+0x12): undefined reference to `mysql_init'
clean_thunder.cpp:(.text+0x48): undefined reference to `mysql_real_connect'
clean_thunder.cpp:(.text+0x65): undefined reference to `mysql_error'
clean_thunder.cpp:(.text+0x9d): undefined reference to `mysql_query'
clean_thunder.cpp:(.text+0xbc): undefined reference to `mysql_error'
clean_thunder.cpp:(.text+0xef): undefined reference to `mysql_store_result'
clean_thunder.cpp:(.text+0x13b): undefined reference to `ConvertChar(std::basic_
clean_thunder.cpp:(.text+0x2e1): undefined reference to `mysql_query'
clean_thunder.cpp:(.text+0x300): undefined reference to `mysql_error'
clean_thunder.cpp:(.text+0x330): undefined reference to `mysql_fetch_row'
clean_thunder.cpp:(.text+0x35b): undefined reference to `mysql_free_result'
clean_thunder.cpp:(.text+0x36a): undefined reference to `mysql_close'
collect2: ld returned 1 exit status
se alguem souber como compilar ou como sessar esses erros da libmysqlclient agradeço!!!:bawling:
-
Re: Programa Simples Para limpeza do Thunder 3.1
primeiro você precisa de algumas bibliotecas instaladas com esta:
apt-get install gcc sharutils libssl-dev
clean_thunder.cpp então você deve tê-lo na pasta de código-fonte do TC
clean_thunder.cpp olhando para essa linha e modificado por seus user passa e db:
connection = mysql_real_connect(&mysql,"localhost","user","pass","db",0,NULL,0);
em seguida, compilar:
g++ -o clean_thunder clean_thunder.cpp utils.cpp -Wall -O2 -lmysqlclient -ldl
executá-lo desta forma, se você tem na raiz:
chmod 777 clean_thunder
./clean_thunder
-
Re: Programa Simples Para limpeza do Thunder 3.1
primeiro gostaria muito de agradecer pela força: bem as alteracoes do arquivo clean_thunder.ccp eu ja tinha feito, o comando o qual vc mandou, ele apenas nao reconhece a opcao -02:
root@super-cache:/script/thunder-svn-publico/thunder# g++ -o clean clean_thunder.cpp utils.cpp -Wall -02 -lmysqlclient -ldl
g++: error: unrecognized option â-02â
Quando tento sem essa opcao ele compila, so nao sei se vai funcionar corretamente...
outra coisa quando for adcionar ele no crontab vou ter que adcionar ainda dessa forma:
0 * * * * root /etc/thunder/./clean -l 90 -h localhost -d thunder -u root -p senha
De já agradeço e me ponho a disposicao para qualquer eventualidade...
abraço!!!
-
Re: Programa Simples Para limpeza do Thunder 3.1
em vez de 02 é o2, para correr e não há necessidade de colocar este -l 90 -h localhost -d thunder -u root -p senha, dentro do arquivo que você está indicando suas configurações de banco de dados e do número de dias nesta linha
query_state = mysql_query(connection, "select * FROM thunder WHERE last_request < (SUBDATE(NOW(), INTERVAL 7 DAY)) ");//added
alterar a 7 por dia você quiser
finalmente, se você não estiver usando o putty é mais fácil de utilizar e por isso basta copiar e colar o código
g++ -o clean_thunder clean_thunder.cpp utils.cpp -Wall -O2 -lmysqlclient -ldl
-
Re: Programa Simples Para limpeza do Thunder 3.1
Mais uma vez obrigado pela força, agora deu erro em encontrar um arquivo.
clean_thunder.cpp:2625: fatal error: mysql/mysql.h: arquivo ou diretorio nao encontrado
os arquivos no diretorio do thunder sao:
root@super-cache:~# ls /script/thunder-svn-publico/thunder
clean_thunder.cpp database_mysql.h logfile.h sockethandler.cpp
connectiontobrowser.cpp database_mysql.o logfile.o sockethandler.h
connectiontobrowser.h default.h Makefile sockethandler.o
connectiontobrowser.o default.h.in Makefile.in thunder
connectiontohttp2.cpp helper.cpp params.cpp thunder.cpp
connectiontohttp2.h helper.h params.h thunder.h
connectiontohttp2.o helper.o params.o thunder.o
connectiontohttp.cpp httphandler.cpp plugins utils.cpp
connectiontohttp.h httphandler.h proxyhandler.cpp utils.h
connectiontohttp.o httphandler.o proxyhandler.h utils.o
database_mysql.cpp logfile.cpp proxyhandler.o x64compat.h
é algum desses arquivos ? ou esta faltando algum ?
-
Re: Programa Simples Para limpeza do Thunder 3.1
Citação:
Postado originalmente por
turbonett_informatica
Mais uma vez obrigado pela força, agora deu erro em encontrar um arquivo.
clean_thunder.cpp:2625: fatal error: mysql/mysql.h: arquivo ou diretorio nao encontrado
os arquivos no diretorio do thunder sao:
root@super-cache:~# ls /script/thunder-svn-publico/thunder
clean_thunder.cpp database_mysql.h logfile.h sockethandler.cpp
connectiontobrowser.cpp database_mysql.o logfile.o sockethandler.h
connectiontobrowser.h default.h Makefile sockethandler.o
connectiontobrowser.o default.h.in Makefile.in thunder
connectiontohttp2.cpp helper.cpp params.cpp thunder.cpp
connectiontohttp2.h helper.h params.h thunder.h
connectiontohttp2.o helper.o params.o thunder.o
connectiontohttp.cpp httphandler.cpp plugins utils.cpp
connectiontohttp.h httphandler.h proxyhandler.cpp utils.h
connectiontohttp.o httphandler.o proxyhandler.h utils.o
database_mysql.cpp logfile.cpp proxyhandler.o x64compat.h
é algum desses arquivos ? ou esta faltando algum ?
agora esse outro aki:!
mas compilou so nao sei se ta funcionando!!!
root@super-cache:/script/thunder-svn-publico/thunder# g++ -o clean clean_thunder.cpp utils.cpp -Wall -O2 -lmysqlclient -ldl
utils.cpp: In function âstd::string XOR(std::string, std::string)â:
utils.cpp:435:11: warning: statement has no effect [-Wunused-value]
utils.cpp: In function âstd::string url2request(std::string&)â:
utils.cpp:249:1: warning: control reaches end of non-void function [-Wreturn-type]
utils.cpp: In function âstd::string url2host(std::string&)â:
utils.cpp:237:1: warning: control reaches end of non-void function [-Wreturn-type]
-
Re: Programa Simples Para limpeza do Thunder 3.1
é compilado e essas são apenas avisos, mas sem erros
-
Re: Programa Simples Para limpeza do Thunder 3.1
Citação:
Postado originalmente por
turbonett_informatica
Galera tenho thunder 3.1 instalando rodando normalmente, so que o hd encheu ai ja viu né? o clean que tem aki no forum ou que ja peguei de outros sites nao funciona. da sempre da erro:
agendamento no cron ou digitando direto no terminal ele sempre apresenta o mesmo erro.
0 * * * * root /etc/thunder/./clean -l 90 -h localhost -d thunder -u root -p senha
error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
com o comando ldd /etc/thunder/clean
mostra o sequinte resultado:
linux-gate.so.1 => (0xf7730000)
libmysqlclient.so.16 => not found
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf762c000)
libm.so.6 => /lib32/libm.so.6 (0xf7606000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf75e8000)
libc.so.6 => /lib32/libc.so.6 (0xf74a1000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7488000)
/lib/ld-linux.so.2 (0xf7731000)
como se a libmysqlclient nao estive instalada: uso debian 6 64bits.
e quando digito o comando para instalar a biblioteca avisa que já é a ultima versao:
apt-get install libmysqlclient16
Testei a versao para compilar. so que o mesmo nao compila, fiz todas as auterações necessarias, como: senha do banco de dados, localizaca do diretorio etc..
comando para compilar:
g++ -o clean clean_thunder.ccp
tem que ter o arquivo utils.h no mesmo diretorio para poder compilar;
erro que esta aparecendo:
/tmp/ccGKCPqq.o: In function `main':
clean_thunder.cpp:(.text+0x12): undefined reference to `mysql_init'
clean_thunder.cpp:(.text+0x48): undefined reference to `mysql_real_connect'
clean_thunder.cpp:(.text+0x65): undefined reference to `mysql_error'
clean_thunder.cpp:(.text+0x9d): undefined reference to `mysql_query'
clean_thunder.cpp:(.text+0xbc): undefined reference to `mysql_error'
clean_thunder.cpp:(.text+0xef): undefined reference to `mysql_store_result'
clean_thunder.cpp:(.text+0x13b): undefined reference to `ConvertChar(std::basic_
clean_thunder.cpp:(.text+0x2e1): undefined reference to `mysql_query'
clean_thunder.cpp:(.text+0x300): undefined reference to `mysql_error'
clean_thunder.cpp:(.text+0x330): undefined reference to `mysql_fetch_row'
clean_thunder.cpp:(.text+0x35b): undefined reference to `mysql_free_result'
clean_thunder.cpp:(.text+0x36a): undefined reference to `mysql_close'
collect2: ld returned 1 exit status
se alguem souber como compilar ou como sessar esses erros da libmysqlclient agradeço!!!:bawling:
Cara a ISO mais nova do mk-auth http://www.mk-auth.com.br/iso/mk-auth.iso já tem o clean instalado, ele fica em /usr/local/sbin/clean e o Pedro falou que esta configurado para 75 dias.