1. В оперативном доступе через веб-интерфейс доступны записи звонков за последние 100 дней
  2. Каждый час записи за текущий день дублируются в каталог /var/spool/asterisk/monbackup/Текущая_дата
  3. Каждый вечер, начиная с 23-00 также происходите перемещение записей за текущий день в архив tar
  4. Данная процедура выполняется скриптом */opt/monitorcp.sh** через крон раз в час(в 10 минут каждого часа)
    monitorcp.sh
    #!/bin/bash                                                                                                                                                                                                                                
    CURDATE=`date +%Y_%m_%d`                                                                                                                                                                                                                   
    CURHOUR=`date +%H`                                                                                                                                                                                                                         
    CURMIN=`date +%m`                                                                                                                                                                                                                          
    DIR="/var/spool/asterisk/monbackup/"                                                                                                                                                                                                       
    MONDIR="/var/spool/asterisk/monitor/"                                                                                                                                                                                                      
     
    copy_records()                                                                                                                                                                                                                             
    {                                                                                                                                                                                                                                          
        # 1. все файлы за сегодня в папку /var/spool/asterisk/monbackup                                                                                                                                                                        
        if ! [ -e "$DIR$CURDATE" ] ; then                                                                                                                                                                                                      
            mkdir -p $DIR$CURDATE                                                                                                                                                                                                              
        fi                                                                                                                                                                                                                                     
        list=(`ls -l --time-style "+%Y_%m_%d_%H_%M_%S" $MONDIR|grep "$CURDATE"|awk '{print $7}'`)                                                                                                                                              
        for filename in "${list[@]}"                                                                                                                                                                                                           
        do                                                                                                                                                                                                                                     
            cp -p $MONDIR$filename $DIR$CURDATE                                                                                                                                                                                                
        done                                                                                                                                                                                                                                   
    }                                                                                                                                                                                                                                          
     
    packing_records()                                                                                                                                                                                                                          
    {                                                                                                                                                                                                                                          
        #Это после 23-00                                                                                                                                                                                                                       
        echo "Раз в сутки гзипим"                                                                                                                                                                                                              
        tar -zcvf $DIR$CURDATE.tar.gz $DIR$CURDATE                                                                                                                                                                                             
        rm -rf $DIR$CURDATE                                                                                                                                                                                                                    
        # 2. удалим все файлы старше 100 дней                                                                                                                                                                                                  
        find $MONDIR -mtime +100 -exec rm {} \;                                                                                                                                                                                                
    }                                                                                                                                                                                                                                          
     
    copy_records                                                                                                                                                                                                                               
    if [  $CURHOUR = "23" ] ; then                                                                                                                                                                                                             
        packing_records                                                                                                                                                                                                                        
    fi            
  5. А если надо разбить по каталогам старые записи - запускаем вот этот скрипт
    monitorsort.sh
    #!/bin/bash                                                                                                                                                                                                                                
    basepath="/var/spool/asterisk/monbackup/"                                                                                                                                                                                                  
    searchpath="/var/spool/asterisk/monitor/"                                                                                                                                                                                                  
     
    for file in `find $searchpath -type f -iname '*.wav' -exec ls '{}' \;`                                                                                                                                                                     
    do                                                                                                                                                                                                                                         
        currentfile=`ls -lt --time-style "+%Y_%m_%d" $file| awk '{print $6}'`                                                                                                                                                                  
        echo Копирование $file в директорию $basepath$currentfile                                                                                                                                                                              
        mkdir $basepath$currentfile 2>/dev/null                                                                                                                                                                                                
        cp -p $file $basepath$currentfile                                                                                                                                                                                                      
    done  
bekap_zapisi_razgovorov.txt · Последние изменения: 2013/10/23 15:02 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика