Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [linux] cron die de size van mysql schrijft (https://forum.scholieren.com/showthread.php?t=554222)

Harrie 30-07-2003 16:34

[linux] cron die de size van mysql schrijft
 
ik heb nu root access op een server,
maar ik wil de size van alle databases webbased kunnen zien. en niet via phpmyadmin.

ik heb het volgende bedacht:
als ik nu een cron job elke dag uitvoer.
die de size van de db inleest en schrijft naar een file in de httpdocs dir..

ik heb alleen geen flauw id hoe ik deze job in elkaar zet.. ik kan namelijk helemaal geen programma schrijven..

btw, howto's zijn er weliswaar genoeg over linux, maar ik wil me er niet in verdiepen, het is zeg maar gewoon een 'bijzaak'...
vandaar dat ik hoop dat er iemand zo'n scriptje op zak heeft (of snel op zak kan hebben :p)

Enlightenment 30-07-2003 16:56

Mag ik vragen waarom je niet met iets als phpMyAdmin wilt werken?

Dat prog is echt fantastisch om via web je MySQL te beheren, lijkt me.

Harrie 30-07-2003 17:38

Citaat:

Enlightenment schreef op 30-07-2003 @ 17:56:
Mag ik vragen waarom je niet met iets als phpMyAdmin wilt werken?

Dat prog is echt fantastisch om via web je MySQL te beheren, lijkt me.

ik werk er ook wel mee, maar dit gaat me puur om de grootte van de databases... zodat ik een overzicht kan maken van de dbs..
er komen een stuk of250 dbs op die server..

Harrie 30-07-2003 19:42

ik weet dat de output van
du -h directory
in het bestand moet komen te staan..

#!/bin/bash
du -h directory

is het begin dus?
maar hoe schrijf ik dit naar een bestand ??

deathz0rz 30-07-2003 20:07

Citaat:

Harrie schreef op 30-07-2003 @ 20:42:
ik weet dat de output van
du -h directory
in het bestand moet komen te staan..

#!/bin/bash
du -h directory

is het begin dus?
maar hoe schrijf ik dit naar een bestand ??

1. je werkt wel met linux maar je zegt toch dat IE een standaard is???

2. zoiets?

#!/bin/bash
du -h directory > /usr/local/www/mysqlsize.txt

Harrie 30-07-2003 20:44

Citaat:

deathz0rz schreef op 30-07-2003 @ 21:07:
1. je werkt wel met linux maar je zegt toch dat IE een standaard is???
dedicated ;)

en nee, niet standaard.. ik bedoelde het met sarcasme (we weten allemaal dat het overgrote merendeel ie gebruikt toch?)

Citaat:

deathz0rz schreef op 30-07-2003 @ 21:07:
2. zoiets?

#!/bin/bash
du -h directory > /usr/local/www/mysqlsize.txt

het werkt! hartelijk dank! :)

Enlightenment 30-07-2003 21:32

In PHP kun je ook gewoon commando's uitvoeren hoor:

echo(`cat /home/mari/aai.txt`);

Geeft de inhoud van aai.txt weer. Zo kun je dus ook echo(`du -h directory`); gebruiken.

Let op: het is ` (backtick) en geen '

Harrie 30-07-2003 21:56

Warning: Cannot execute using backquotes in safe mode in /usr/local/........
============================================

wat is eigenlijk het verschil tussen safe mode on/off?
je kan geen shell commando's uitvoeren, maar verder nog?

deathz0rz 30-07-2003 22:56

Citaat:

Harrie schreef op 30-07-2003 @ 22:56:
Warning: Cannot execute using backquotes in safe mode in /usr/local/........
============================================

wat is eigenlijk het verschil tussen safe mode on/off?
je kan geen shell commando's uitvoeren, maar verder nog?

http://nl.php.net/features.safe-mode

Harrie 30-07-2003 23:13

Citaat:

deathz0rz schreef op 30-07-2003 @ 23:56:
http://nl.php.net/features.safe-mode
ja sorry.. had het ondertussen al gelezen en k heb de safemode eraf gehaald en het werkt nu :p


thnx 2 Enlightenment :o

Enlightenment 31-07-2003 02:13

Als je overigens dingen wilt uitvoeren, maar niet direkt wilt printen, gebruik dan exec. Die plaatst de output in een array, waarmee je zelf met PHP kunt prutsen ermee.

:)

Chimera 31-07-2003 08:47

Waarom haal je niet gewoon direct via PHP de grootte van de DB op? AFAIK heb je daar gewoon een (My)SQL query voor. Check je MySQL docs.

Harrie 31-07-2003 12:39

Citaat:

Chimera schreef op 31-07-2003 @ 09:47:
Waarom haal je niet gewoon direct via PHP de grootte van de DB op? AFAIK heb je daar gewoon een (My)SQL query voor. Check je MySQL docs.
nee bestaat niet naar mijn weten..
nog nooit van gehoord en had al veel lopen zoeken naar een andere/simpelere manier maar nooit iets gevonden.

Enlightenment 31-07-2003 16:28

Als phpMyAdmin het kan, kan het dus wel.

deathz0rz 31-07-2003 17:29

Citaat:

Enlightenment schreef op 31-07-2003 @ 17:28:
Als phpMyAdmin het kan, kan het dus wel.
nou? :P

maar wie ben ik, om jouw mening in twijfel te trekken :D

Enlightenment 31-07-2003 17:45

Vast een lief schattig 14-jarig jongetje. :o :p

Maaruhh. phpMyAdmin haalt die dingen toch uit de DB? Geen bovennatuurlijk progsel iig. ;)

deathz0rz 31-07-2003 17:53

omdat meneer te lui is heb ik het maar opgezocht in phpmyadmin

http://www.mysql.com/doc/en/SHOW_TABLE_STATUS.html

Enlightenment 31-07-2003 18:02

(y)

Harrie 31-07-2003 20:51

Citaat:

deathz0rz schreef op 31-07-2003 @ 18:53:
omdat meneer te lui is heb ik het maar opgezocht in phpmyadmin
http://www.mysql.com/doc/en/SHOW_TABLE_STATUS.html

je bedoelt mevrouw ;P
maaruhm.. dan krijg ik een hele waslijst met info..
dan is mn huidige manier beter

deathz0rz 31-07-2003 22:25

Citaat:

Harrie schreef op 31-07-2003 @ 21:51:
je bedoelt mevrouw ;P
Harrie
17M - Lid

lijkt me niet

Citaat:

Harrie schreef op 31-07-2003 @ 21:51:
maaruhm.. dan krijg ik een hele waslijst met info..
dan is mn huidige manier beter

zie je, je bent te lui

Harrie 31-07-2003 23:43

Citaat:

deathz0rz schreef op 31-07-2003 @ 23:25:
Harrie
17M - Lid
lijkt me niet


zie je, je bent te lui

pff.... niet zo'n dikke bek..
en dat van 'zie je, je bent te lui' slaat ook als 2 pond worst op bierflessen.. alleen omdat mijn huidige manier beter is, ben ik te lui.. nee logisch toch?

en daarbij, ik wist/weet toch zo'n 95% zeker dat die query icm php niet bestaat.. en nog steeds heb ik gelijk, want alle servers staan in safe mode, dus hoe wil je dat er anders uit krijgen.

zoek jij maar eens uit hoe je met mysql_query de size eruit kan halen.. lukt je niet..

dus ik zal maar even kallum doen, want zomaar roepen dat ik lui ben is totaal .. snel even wat zeggen..

deathz0rz 01-08-2003 00:28

Citaat:

Harrie schreef op 01-08-2003 @ 00:43:
pff.... niet zo'n dikke bek..
en dat van 'zie je, je bent te lui' slaat ook als 2 pond worst op bierflessen.. alleen omdat mijn huidige manier beter is, ben ik te lui.. nee logisch toch?

je huidige manier is niet beter, maar uit jouw vorige post kan ik opmaken dat je geen zin hebt om de mysql documentation te lezen om het te verbeteren...

Citaat:

Harrie schreef op 01-08-2003 @ 00:43:
en daarbij, ik wist/weet toch zo'n 95% zeker dat die query icm php niet bestaat.. en nog steeds heb ik gelijk, want alle servers staan in safe mode, dus hoe wil je dat er anders uit krijgen.
die query bestaat wel, het is gewoon MySQL en dat heeft niks met php te maken

Citaat:

Harrie schreef op 01-08-2003 @ 00:43:
zoek jij maar eens uit hoe je met mysql_query de size eruit kan halen.. lukt je niet..
zie link vorige post


Citaat:

Harrie schreef op 01-08-2003 @ 00:43:
dus ik zal maar even kallum doen, want zomaar roepen dat ik lui ben is totaal .. snel even wat zeggen..
zie 1e deel van deze post

Chimera 01-08-2003 10:17

Citaat:

Harrie schreef op 01-08-2003 @ 00:43:

zoek jij maar eens uit hoe je met mysql_query de size eruit kan halen.. lukt je niet..

Ik heb het toch echt zelf ook gedaan in die UBBHARV site van me, als je hosting provider die mogelijkheid niet biedt zou ik naar een andere op zoek gaan, safe mode zuigt.

Harrie 01-08-2003 11:27

Citaat:

Chimera schreef op 01-08-2003 @ 11:17:
Ik heb het toch echt zelf ook gedaan in die UBBHARV site van me, als je hosting provider die mogelijkheid niet biedt zou ik naar een andere op zoek gaan, safe mode zuigt.
geef me die query eens dan?
:confused:

btw, exec of echo(`du -h /db dir/`);
werkt niet.. geen permissions voor.
en als ik de permissions op 755 oid zet zodat ik ze op die manier webbased kan opvragen werkt ook niet, want dan zou iedereen de db kunnen opvragen.
het worden dus toch cron jobs

deathz0rz 01-08-2003 12:01

Citaat:

Harrie schreef op 01-08-2003 @ 12:27:
geef me die query eens dan?
:confused:

LEES je nou ECHT niet wat ANDERE mensen zeggen?

Chimera 01-08-2003 12:29

Citaat:

Harrie schreef op 01-08-2003 @ 12:27:

het worden dus toch cron jobs

Ben ik ff blij dat ik jou nooit in m'n team zal hebben...Zoek het maar lekker zelf uit.

Harrie 01-08-2003 12:51

Citaat:

deathz0rz schreef op 01-08-2003 @ 13:01:
LEES je nou ECHT niet wat ANDERE mensen zeggen?
Jawel, maar ik weet zeker dat er geen mysql_query bestaat die de db size geeft!
jullie zeggen van wel, dus zou ik deze graag horen van jullie.... want het is gewoon onmogelijk om met een mysql_query de db te krijgen met normale server config.


Citaat:

chimera schreef

Ben ik ff blij dat ik jou nooit in m'n team zal hebben...Zoek het maar lekker zelf uit.

ow gossie, ik wou net vragen of ik misschien wel in je 'team' mocht :rolleyes:
en even uitleg over die cronjobs.
er draait plesk op het hele systeem.. de mysql boel staat in /usr/local/psa/mysql/var/ ..
de user van deze dir is 'mysql' (hoe logisch)..
wil je dan een echo(`du -sk /home/test/`) uitvoeren, werkt prima.. maar ga je naar de /mysql/var/* ... heb je geen rechten om het uit te voeren.. en dan zul je de hele boel kunnen chmodden naar 755 oid, maar dan kan dus iedere willekeurige gebruiker een db op kunnen halen...

gesnapt?!

dus een cron job die de boel 1x per dag schrijft naar httpdocs/databases.txt oid is de enige manier..

dus gooi er maar niet zomaar 'zoek het lekker zelf uit' in, want als je hierop reageert neem ik aan dat je wilt helpen en dan vervolgens beetje lopen roepen 'zoek het lekker zelf uit' is zwak.. geef me die query dan ook want die query bestaat gewoon niet in een .php...

deathz0rz 01-08-2003 13:25

Citaat:

Harrie schreef op 01-08-2003 @ 13:51:
Jawel, maar ik weet zeker dat er geen mysql_query bestaat die de db size geeft!
jullie zeggen van wel, dus zou ik deze graag horen van jullie.... want het is gewoon onmogelijk om met een mysql_query de db te krijgen met normale server config.

http://www.mysql.com/doc/en/SHOW.html
http://www.mysql.com/doc/en/SHOW.html
http://www.mysql.com/doc/en/SHOW.html
http://www.mysql.com/doc/en/SHOW.html

ik hoop dat het je nog lukt om op een van die links te klikken met die kleine hersenen van jou

Harrie 01-08-2003 13:42

Citaat:

deathz0rz schreef op 01-08-2003 @ 14:25:
http://www.mysql.com/doc/en/SHOW.html
http://www.mysql.com/doc/en/SHOW.html
http://www.mysql.com/doc/en/SHOW.html
http://www.mysql.com/doc/en/SHOW.html

ik hoop dat het je nog lukt om op een van die links te klikken met die kleine hersenen van jou

heel goed snotaap..
maar mijn kleine hersenen zijn groot genoeg om daar geen query uit te halen die ik kan gebruiken in php om de database SIZE eruit te halen....

heel leuk dat je een link kan kopieren en plakken, maar het gaat om de SIZE van de db, niet om tables te laten zien!

maar misschien willen jouw joekels van hersenen hier de code neer zetten van hoe ik de size krijg.. is natuurlijk een eitje voor zulke gevaartes..... :rolleyes:


btw.. laat maar zitten, ik ga met cron jobs werken.. is toch fijn werken hoor chimera.. het is aan te raden :p

Dr HenDre 01-08-2003 13:47

Citaat:

deathz0rz schreef op 01-08-2003 @ 14:25:
ik hoop dat het je nog lukt om op een van die links te klikken met die kleine hersenen van jou
LOL :D

Chimera 01-08-2003 13:52

Citaat:

Harrie schreef op 01-08-2003 @ 14:42:
heel leuk dat je een link kan kopieren en plakken, maar het gaat om de SIZE van de db, niet om tables te laten zien!

Je kunt allerlei soorten informatie ophalen over tabellen, onderandere ook hun grootte. De grootte van de DB is gewoon de som van de grootte van z'n tabellen.

LEES dan gewoon die documentatie ff.

deathz0rz 01-08-2003 13:53

jij denkt echt dat je alles bent hè? je neemt geen eens de moeite om te lezen wat in die links staat!

heb je dit al bekeken?
PHP-code:

        $res mysql_query('SHOW TABLE STATUS FROM [DATABASE_NAME]');
while (
$row mysql_fetch_array($resMYSQL_ASSOC)) {
            
$tmp_array['tbl_cnt']++;
            
$tmp_array['data_sz'] += $row['Data_length'];
            
$tmp_array['idx_sz'] += $row['Index_length'];
}
$tmp_array['tot_sz'] = $tmp_array['data_sz'] + $tmp_array['idx_sz'];
$statistics[] = $tmp_array



Alle tijden zijn GMT +1. Het is nu 14:54.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.