#!/usr/bin/php -q setFiles($files['userfield'], "{$files['protocolo']}_{$files['calldate']}.WAV"); } $file->targz(); $resp = $file->generate(); if (!$resp) { throw new Exception("Nao foi possivel gerar o arquivo de backup."); } foreach ($ftp as $server) { $backup = new BackupSend($server['dst_host'], $server['dst_user'], $server['dst_senha'], $server['dst_porta']); $backup->directorys($server['dst_diretorio_remoto'], ($name . $formatCompact), ('/tmp/' . $name . $formatCompact)); if (!$backup->ftp()) { throw new Exception("Nao foi possivel realizar a conexao com FTP."); } if (!$backup->ftp_folder_bydate()) { throw new Exception("Nao foi possivel criar a arvore de pastas."); } if (!$backup->ftp_finish()) { throw new Exception("Nao foi possivel enviar o arquivo para o FTP."); } } } catch (Exception $ex) { $file->log()->error($ex->getMessage(), debug_backtrace()); } finally { $file->remove_compact(); } ############################################################################ #### CONEXAO DE BANCO DE DADOS #### ############################################################################ function GetQuery($postgresql, $clas_id = null) { $query = "SELECT clas_descricao, clit_descricao, userfield,calldate::date,protocolo FROM pbx_bilhetes a INNER JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2 INNER JOIN pbx_usuarios c ON c.matricula = substring(b.agente, 7, 4) INNER JOIN pbx_protocolo_reg d ON d.uniqueid = a.uniqueid LEFT JOIN pbx_classifica_reg e ON a.uniqueid = e.id_bilhetes LEFT JOIN pbx_classifica_atendimento f ON f.clas_id = e.clas_id LEFT JOIN pbx_classifica_item g ON g.clit_id = e.clit_id WHERE a.data_bilhete = (now()::date - 1) AND a.lastapp <> 'Transferred Call' AND b.evento in('COMPLETEAGENT','COMPLETECALLER', 'TRANSFER','COMPLETEAGENTRAMAL','COMPLETECALLERRAMAL', 'COMPLETAAGENT','COMPLETACALLER', 'TRANSFERORIG','BUSYS','NOANSWERS') AND userfield IS NOT NULL"; $query .= $clas_id ? " AND f.clas_id = {$clas_id}" : ''; $resp = $postgresql->pg_execute($query); if (!$resp) { throw new Exception("Nao foi encontrado nenhum registro."); } return $resp; } function GetFTP($postgresql) { $query = "SELECT dst_host,dst_porta,dst_user,dst_senha,dst_diretorio_remoto,prt_descricao,dst_clas_audio FROM pbx_backup_destino a INNER JOIN pbx_backup_protocolo b ON b.prt_id = a.prt_id WHERE prt_descricao ilike 'FTP'"; $resp = $postgresql->pg_execute($query); if (!$resp) { throw new Exception("Nenhum servidor FTP cadastrado."); } return $resp; }