CDR MySQL FreePBX database opruimen/oude gespreks-logs wissen: verschil tussen versies
Uiterlijk
Geen bewerkingssamenvatting |
Geen bewerkingssamenvatting |
||
| Regel 28: | Regel 28: | ||
exit | exit | ||
'''Cronjob of verzamellijnen, om het script uit te voeren zodat > | '''Cronjob of verzamellijnen, om het script uit te voeren zodat >2jaar gewist wordt.''' | ||
Sla het volgende sript op en gebruik deze naam in de crontjob. Sla het bestand op in de ROOT directory | Sla het volgende sript op en gebruik deze naam in de crontjob. Sla het bestand op in de ROOT directory | ||
Bestandsnaam in het voorbeeld: /root/DeleteCDR12mnd.sql | Bestandsnaam in het voorbeeld: /root/DeleteCDR12mnd.sql | ||
| Regel 34: | Regel 34: | ||
mysql | mysql | ||
use asteriskcdrdb; | use asteriskcdrdb; | ||
delete from cdr where calldate < DATE_SUB(NOW(), INTERVAL | delete from cdr where calldate < DATE_SUB(NOW(), INTERVAL 24 MONTH); | ||
delete from cel where eventtime < DATE_SUB(NOW(), INTERVAL | delete from cel where eventtime < DATE_SUB(NOW(), INTERVAL 1 DAY); | ||
optimize table cdr; | optimize table cdr; | ||
optimize table cel; | optimize table cel; | ||
Versie van 3 feb 2019 14:08
In FreePBX worden CDR CallDetailRecords bijgehouden. De hoeveelheid kan in de loop der jaren flink oplopen, en soms is het wenselijk om alles of een deel te wissen. Dit moet middels de command line in Linux in MySQL. Middels een webinterface kan dit via phpMyAdmin, een webinterface om MySQL te beheren. CEL tabel wissen ruimt dikwijls veel harddiskruimte op, zie onder.
Wis alle Records:
# mysql show databases; use asteriskcdrdb; delete FROM `cdr` WHERE `duration` >= 0; OPTIMIZE TABLE asteriskcdrdb.cdr; exit
Wis van voor een bepaalde datum bv voor 2018:
# mysql use asteriskcdrdb; DELETE from cdr WHERE calldate < '2018-01-01 00:00:00'; OPTIMIZE TABLE asteriskcdrdb.cdr; exit
CEL tabel wissen - Dit scheelt vaak veel ruimte op hdd
use asteriskcdrdb; show tables; describe cel; DELETE from cel WHERE eventtime < '2018-01-01 00:00:00'; OPTIMIZE TABLE asteriskcdrdb.cel; exit
Cronjob of verzamellijnen, om het script uit te voeren zodat >2jaar gewist wordt. Sla het volgende sript op en gebruik deze naam in de crontjob. Sla het bestand op in de ROOT directory Bestandsnaam in het voorbeeld: /root/DeleteCDR12mnd.sql
mysql use asteriskcdrdb; delete from cdr where calldate < DATE_SUB(NOW(), INTERVAL 24 MONTH); delete from cel where eventtime < DATE_SUB(NOW(), INTERVAL 1 DAY); optimize table cdr; optimize table cel; exit;
Crontab -e
1 1 X X X X mysql -u root asteriskcdrdb < /root/DeleteCDR12mnd.sql