Пытаюсь придумать как сформировать отчет CDR за месяц и отправлять по почте ежемесячно директору.

А нужно ли? Обычно приходит расшифровка о звонках от оператора телефонии, но ведь там нет внутрениих номеров, значит возможно понадобится.

В процессе ...

mysql -u root -p password -D asteriskcdrdb -e 'SELECT calldate, clid, dst, duration, disposition FROM cdr WHERE DATE(calldate) = SUBDATE(CURDATE(), 1)' > cdr-report.txt

#Или так

mysql -u root -p password -D asteriskcdrdb -e "SELECT calldate, clid, dst, duration, disposition INTO OUTFILE '/tmp/results.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM cdr WHERE calldate BETWEEN '$(date -d "$(date +%Y-%m-%d) -1 month" +%Y-%m-%d)' AND '$(date +%Y-%m-%d)'"&& cat /tmp/results.txt |sed 's/\\"//g' > /var/www/html/cdr-report.csv;chown asterisk:asterisk /var/www/html/cdr-report.csv;rm -f /tmp/results.txt