Naar inhoud springen

CDR MySQL FreePBX database opruimen/oude gespreks-logs wissen: verschil tussen versies

Uit 4AllBusiness
4allbusiness (overleg | bijdragen)
Geen bewerkingssamenvatting
4allbusiness (overleg | bijdragen)
Geen bewerkingssamenvatting
Regel 28: Regel 28:


'''Cronjob of verzamellijnen, om het script uit te voeren zodat >1jaar gewist wordt.'''
'''Cronjob of verzamellijnen, om het script uit te voeren zodat >1jaar gewist wordt.'''
Sla het volgende sript op en gebruik deze naam in de crontjob. Sla het bestand op in de ROOT directory
  mysql
  mysql
  use asteriskcdrdb;
  use asteriskcdrdb;
Regel 35: Regel 37:
  optimize table cel;
  optimize table cel;
  exit;
  exit;
Crontab -e
1 1 X X X X mysql -u root asteriskcdrdb < /root/DeleteCDR12mnd.sql

Versie van 21 nov 2017 11:46

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 2016:

# mysql
use asteriskcdrdb;
DELETE from cdr WHERE calldate < '2017-01-01 00:00:00';
OPTIMIZE TABLE  asteriskcdrdb.cdr;
exit

CEL tabel wissen - Dit scheelt vaak veel ruimte op hdd

show tables;
describe cel;
DELETE from cel WHERE eventtime < '2017-01-01 00:00:00';
OPTIMIZE TABLE  asteriskcdrdb.cel;
exit

Cronjob of verzamellijnen, om het script uit te voeren zodat >1jaar gewist wordt. Sla het volgende sript op en gebruik deze naam in de crontjob. Sla het bestand op in de ROOT directory

mysql
use asteriskcdrdb;
delete from cdr where calldate < DATE_SUB(NOW(), INTERVAL 12 MONTH);
delete from cel where eventtime < DATE_SUB(NOW(), INTERVAL 12 MONTH);
optimize table cdr;
optimize table cel;
exit;

Crontab -e

1 1 X X X X mysql -u root asteriskcdrdb < /root/DeleteCDR12mnd.sql