{"id":730,"date":"2014-09-10T19:12:50","date_gmt":"2014-09-10T22:12:50","guid":{"rendered":"http:\/\/blog.abratel.com.br\/?p=730"},"modified":"2014-09-10T19:12:50","modified_gmt":"2014-09-10T22:12:50","slug":"script-criado-para-auxiliar-na-manipulacao-do-qmail-no-freebsd","status":"publish","type":"post","link":"https:\/\/blog.abratel.com.br\/?p=730","title":{"rendered":"Script criado para auxiliar na manipula\u00e7\u00e3o do qmail no freebsd!"},"content":{"rendered":"<p><strong>Script criado para auxiliar na manipula\u00e7\u00e3o do qmail no freebsd!<\/strong><\/p>\n<p>[root@netuno ~]# cat  \/usr\/local\/bin\/qmail-adm.sh<br \/>\n#!\/bin\/sh<\/p>\n<p>dominio=&#8221;@i-hunter.net&#8221;<\/p>\n<p>main()<br \/>\n{<br \/>\n   clear<br \/>\n   echo &#8220;======= Gerenciamento auxiliar do MTA QMAIL =======&#8221;<br \/>\n   echo &#8220;===================================================&#8221;<br \/>\n   echo &#8220;Opcoes:&#8221;<br \/>\n   echo<br \/>\n   echo &#8220;1 &#8211; Listar todas as mensagens na fila.&#8221;<br \/>\n   echo &#8220;2 &#8211; Listar todas as mensagens na fila Remota.&#8221;<br \/>\n   echo &#8220;3 &#8211; Listar todas as mensagens na fila Local.&#8221;<br \/>\n   echo &#8220;4 &#8211; Mostrar STATUS das filas do Qmail.&#8221;<br \/>\n   echo &#8220;5 &#8211; Ver o conteudo de uma mensagem especifica.&#8221;<br \/>\n   echo &#8220;6 &#8211; Apagar uma mensagem especifica da fila.&#8221;<br \/>\n   echo &#8220;7 &#8211; Apagar mensagens com um Assunto (Subject: ) especifico.&#8221;<br \/>\n   echo &#8220;8 &#8211; Apagar mensagens com Remetente (From: ) especifico.&#8221;<br \/>\n   echo &#8220;9 &#8211; Apagar mensagens com Destinario (To: ) especifico.&#8221;<br \/>\n   echo &#8220;10 &#8211; Apagar TODAS as mensagens das filas do Qmail.&#8221;<br \/>\n   echo &#8220;11 &#8211; Sair.&#8221;<br \/>\n   echo &#8220;15 &#8211; Avancado.&#8221;<br \/>\n   echo -n &#8220;Qual opcao voce deseja? &#8221;<br \/>\n   read opcao<br \/>\n   case $opcao in<br \/>\n     1) listar_todas ;;<br \/>\n     2) listar_r ;;<br \/>\n     3) listar_l ;;<br \/>\n     4) status ;;<br \/>\n     5) ver_msg ;;<br \/>\n     6) apaga_msg ;;<br \/>\n     7) subject ;;<br \/>\n     8) from ;;<br \/>\n     9) to ;;<br \/>\n     10) apagar_todas ;;<br \/>\n     11) exit ;;<br \/>\n     15) menu_avancado ;;<br \/>\n     *) echo &#8220;Opcao desconhecida.&#8221; ; echo ; main ;;<br \/>\n   esac<br \/>\n}<\/p>\n<p>###### funcoes auxiliares<\/p>\n<p> restart_qmail()<br \/>\n {<br \/>\n  svc -k \/service\/qmail<br \/>\n  svc -u \/service\/qmail<br \/>\n }<\/p>\n<p> status ()<br \/>\n {<br \/>\n         echo &#8220;&#8221;<br \/>\n         echo &#8220;Status atual do Qmail: &#8221;<br \/>\n         echo &#8220;&#8221;<br \/>\n         sleep 2<br \/>\n         fila-qmail -s<br \/>\n         echo &#8220;&#8221;<br \/>\n         \/var\/qmail\/bin\/qmail-qstat<br \/>\n         echo &#8220;&#8221;<br \/>\n         svstat \/service\/qmail<br \/>\n        echo &#8220;&#8221;<br \/>\n }<\/p>\n<p> remotas_locais()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Mensagens Remotas ou Locais? [R\/L]: &#8221;<br \/>\n read ROL<\/p>\n<p> case ${ROL} in<br \/>\n         [Rr])<br \/>\n             ROLRESP=&#8221;R&#8221;<br \/>\n         ;;<br \/>\n         [Ll])<br \/>\n             ROLRESP=&#8221;L&#8221;<br \/>\n         ;;<br \/>\n         *)<br \/>\n             remotas_locais<br \/>\n         ;;<br \/>\n esac<br \/>\n }<\/p>\n<p>#### funcoes principais<\/p>\n<p> listar_todas()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8220;Listando as mensagens nas filas Remota e Local: &#8221;<br \/>\n fila-qmail -l<br \/>\n echo &#8220;&#8221;<br \/>\n }<\/p>\n<p> listar_r()<br \/>\n {<br \/>\n echo&#8221;&#8221;<br \/>\n echo &#8220;Listando as mensagens na fila Remota: &#8221;<br \/>\n fila-qmail -R<br \/>\n echo &#8220;&#8221;<br \/>\n }<\/p>\n<p> listar_l()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8220;Listando as mensagens na fila Local: &#8221;<br \/>\n fila-qmail -L<br \/>\n echo &#8220;&#8221;<br \/>\n }<\/p>\n<p> ver_msg()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; O numero de Identificacao da mensagem &#8211; Msg ID &#8211; pode ser&#8221;<br \/>\n echo &#8220;identificado como o primeiro numero que precede um email,&#8221;<br \/>\n echo &#8220;quando as mensagens nas filas sao listadas.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Por exemplo:&#8221;<br \/>\n echo &#8221; 762178 [14, R] &#8211; O primeiro numero, fora dos parenteses,&#8221;<br \/>\n echo &#8221; indica o numero da mensagem. Nesse caso, 762178.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Deseja visualizar o conteudo da mensagem numero: &#8221;<br \/>\n read NROMSG<\/p>\n<p> echo &#8220;&#8221;<br \/>\n fila-qmail -v${NROMSG} | less<\/p>\n<p> }<\/p>\n<p> apaga_msg()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; O numero de Identificacao da mensagem &#8211; Msg ID &#8211; pode ser&#8221;<br \/>\n echo &#8220;identificado como o primeiro numero que precede um email,&#8221;<br \/>\n echo &#8220;quando as mensagens nas filas sao listadas.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Por exemplo:&#8221;<br \/>\n echo &#8221; 762178 [14, R] &#8211; O primeiro numero, fora dos parenteses,&#8221;<br \/>\n echo &#8221; indica o numero da mensagem. Nesse caso, 762178.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Deseja apagar qual mensagem da fila? &#8221;<br \/>\n read NROMSG<\/p>\n<p> fila-qmail -d${NROMSG}<\/p>\n<p> restart_qmail<br \/>\n status<\/p>\n<p> }<\/p>\n<p> subject()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Para maior praticidade, a pesquisa sera Case Insensitive,&#8221;<br \/>\n echo &#8220;nao diferenciando letras maiusculas de letras minusculas.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Deseja apagar todas as mensagens com qual Assunto [Subject: ] &#8221;<br \/>\n read ASSUNTO<\/p>\n<p> remotas_locais<\/p>\n<p> fila-qmail -c -l | \\<br \/>\n grep -i -B 4 &#8220;${ASSUNTO}&#8221; | \\<br \/>\n grep &#8220;, ${ROLRESP}&#8221; | awk &#8216;{print &#8220;echo \\&#8221;Apagando mensagem &#8220;$1&#8243;\\&#8221; ; &#8221; &#8220;fila-qmail -d&#8221;$1}&#8217; > \/tmp\/XyZkPPty<\/p>\n<p>   sh \/tmp\/XyZkPPty<br \/>\n   COUNT=&#8221;`cat \/tmp\/XyZkPPty | wc -l`&#8221;<br \/>\n   rm -f \/tmp\/XyZkPPty<\/p>\n<p>        echo &#8220;&#8221;<br \/>\n        echo &#8221; Foram apagadas ${COUNT} mensagens que continham&#8221;<br \/>\n        echo &#8220;a expressao &#8216;${ASSUNTO}&#8217; como parte do Assunto&#8230;&#8221;<br \/>\n        echo &#8220;&#8221;<br \/>\n        echo &#8220;Reiniciando o Qmail&#8230;&#8221;<\/p>\n<p>        restart_qmail<br \/>\n        status<br \/>\n }<\/p>\n<p> from()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Para maior praticidade, a pesquisa sera Case Insensitive,&#8221;<br \/>\n echo &#8220;nao diferenciando letras maiusculas de letras minusculas.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Deseja apagar todas as mensagens de qual Remetente [From: ] &#8221;<br \/>\n read FROM<\/p>\n<p> remotas_locais<\/p>\n<p> fila-qmail -c -l | \\<br \/>\n grep -i -B 2 &#8220;${FROM}&#8221; | \\<br \/>\n grep &#8220;, ${ROLRESP}&#8221; | awk &#8216;{print &#8220;echo \\&#8221;Apagando mensagem &#8220;$1&#8243;\\&#8221; ; &#8221; &#8220;fila-qmail -d&#8221;$1}&#8217; > \/tmp\/XyZkPPty<\/p>\n<p>   sh \/tmp\/XyZkPPty<br \/>\n   COUNT=&#8221;`cat \/tmp\/XyZkPPty | wc -l`&#8221;<br \/>\n   rm -f \/tmp\/XyZkPPty<\/p>\n<p>        echo &#8220;&#8221;<br \/>\n        echo &#8221; Foram apagadas ${COUNT} mensagens que continham&#8221;<br \/>\n        echo &#8220;a expressao &#8216;${FROM}&#8217; como parte do endereco do Remetente&#8230;&#8221;<br \/>\n        echo &#8220;&#8221;<br \/>\n        echo &#8220;Reiniciando o Qmail&#8230;&#8221;<\/p>\n<p>        restart_qmail<br \/>\n        status<br \/>\n }<\/p>\n<p> to()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Para maior praticidade, a pesquisa sera Case Insensitive,&#8221;<br \/>\n echo &#8220;nao diferenciando letras maiusculas de letras minusculas.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Deseja apagar todas as mensagens de qual Destinatario [To: ] &#8221;<br \/>\n read TO<\/p>\n<p> remotas_locais<\/p>\n<p> fila-qmail -c -l | \\<br \/>\n grep -i -B 3 &#8220;${TO}&#8221; | \\<br \/>\n grep &#8220;, ${ROLRESP}&#8221; | awk &#8216;{print &#8220;echo \\&#8221;Apagando mensagem &#8220;$1&#8243;\\&#8221; ; &#8221; &#8220;fila-qmail -d&#8221;$1}&#8217; > \/tmp\/XyZkPPty<\/p>\n<p>   sh \/tmp\/XyZkPPty<br \/>\n   COUNT=&#8221;`cat \/tmp\/XyZkPPty | wc -l`&#8221;<br \/>\n   rm -f \/tmp\/XyZkPPty<\/p>\n<p>        echo &#8220;&#8221;<br \/>\n        echo &#8221; Foram apagadas ${COUNT} mensagens que continham&#8221;<br \/>\n        echo &#8220;a expressao &#8216;${TO}&#8217; como parte do endereco do Remetente&#8230;&#8221;<br \/>\n        echo &#8220;&#8221;<br \/>\n        echo &#8220;Reiniciando o Qmail&#8230;&#8221;<\/p>\n<p>        restart_qmail<br \/>\n        status<br \/>\n }<\/p>\n<p>apagar_todas()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Todas as mensagens de todas as filas do QMail serao apagadas.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Deseja mesmo continuar? [S\/N] &#8221;<\/p>\n<p> read SIMNAO<\/p>\n<p> case ${SIMNAO} in<br \/>\n         [Ss])<\/p>\n<p>         fila-qmail -D &#038;&#038; \\<br \/>\n         restart_qmail &#038;&#038; \\<br \/>\n         status<br \/>\n         ;;<\/p>\n<p>         *)<br \/>\n         echo &#8220;&#8221;<br \/>\n         echo &#8220;Saindo&#8230;&#8221;<br \/>\n         ;;<br \/>\n esac<\/p>\n<p> }<\/p>\n<p>virus_dat_version() {<br \/>\n        echo &#8220;&#8221;<br \/>\n        \/usr\/local\/bin\/uvscan &#8211;version | grep -v &#8220;EVALUATION&#8221;<br \/>\n        echo &#8220;&#8221;<br \/>\n}<\/p>\n<p> ############## Menu Avancado ###############<br \/>\n ## Nao tem nada de Avancado mas nao deve  ##<br \/>\n ## ser usado por quem nao sabe como ele   ##<br \/>\n ## funciona&#8230; enfim, leiam as man pages  ##<br \/>\n ## do svc, do svscan, svstat e o resto do ##<br \/>\n ## Daemontools inteiro&#8230;                 ##<br \/>\n ############################################<\/p>\n<p> menu_avancado()<br \/>\n{<br \/>\n   clear<br \/>\n   echo &#8220;===== Controle dos servicos de e-mail =====&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;Servico qmail-send [modulo nivel 1]:&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;01 &#8211; Matar o qmail-send.&#8221;<br \/>\n   echo &#8220;02 &#8211; Iniciar o qmail-send.&#8221;<br \/>\n   echo &#8220;03 &#8211; Reprocessar as filas de email.&#8221;<br \/>\n   echo &#8220;04 &#8211; STATUS do qmail-send e das filas de e-mail.&#8221;<br \/>\n   echo &#8220;05 &#8211; Reiniciar o Qmail [qmail-send].&#8221;<br \/>\n   echo &#8220;06 &#8211; Verificar os logs do qmail-send.&#8221;<br \/>\n   echo &#8220;07 &#8211; Verificar os logs do qmail-queue.&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;Servico Qmail SMTP:&#8221;<br \/>\n   echo &#8220;10 &#8211; Matar o daemon SMTP.&#8221;<br \/>\n   echo &#8220;11 &#8211; Iniciar o daemon SMTP.&#8221;<br \/>\n   echo &#8220;12 &#8211; STATUS do daemon SMTP.&#8221;<br \/>\n   echo &#8220;13 &#8211; Reiniciar o daemon SMTP.&#8221;<br \/>\n   echo &#8220;14 &#8211; Verificar os logs do SMTP.&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;Servico Qmail POP3:&#8221;<br \/>\n   echo &#8220;20 &#8211; Matar o daemon POP3.&#8221;<br \/>\n   echo &#8220;21 &#8211; Iniciar o daemon POP3.&#8221;<br \/>\n   echo &#8220;22 &#8211; STATUS do daemon POP3.&#8221;<br \/>\n   echo &#8220;23 &#8211; Reiniciar o daemon POP3.&#8221;<br \/>\n   echo &#8220;24 &#8211; Verificar os logs do POP3.&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;Anti Virus:&#8221;<br \/>\n   echo &#8220;30 &#8211; Logs dos ultimos virus encontrados.&#8221;<br \/>\n   echo &#8220;31 &#8211; Logs do qmail-queue junto ao antivirus.&#8221;<br \/>\n   echo &#8220;32 &#8211; Apagar todas as mensagens com virus do Quarantine.&#8221;<br \/>\n   echo &#8220;33 &#8211; Apagar todas as mensagens com virus verificadas agora.&#8221;<br \/>\n   echo &#8220;34 &#8211; Contar virus encontrados.&#8221;<br \/>\n   echo &#8220;35 &#8211; Mostrar as definicoes (dat-version) de virus atuais.&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;Servico Courier-IMAP:&#8221;<br \/>\n   echo &#8220;36 &#8211; Para o servico IMAP (caso instalado).&#8221;<br \/>\n   echo &#8220;37 &#8211; Inicia o servico IMAP (caso instalado).&#8221;<br \/>\n   echo &#8220;38 &#8211; Verificar os logs do IMAP (caso instalado).&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;&#8221;<br \/>\n   echo &#8220;50 &#8211; Sair.&#8221;<br \/>\n   echo -n &#8220;Qual opcao voce deseja? &#8221;<br \/>\n   read opctao<br \/>\n   case $opctao in<br \/>\n     01) kill_qsend ;;<br \/>\n     02) up_qsend ;;<br \/>\n     03) alrm_queue ;;<br \/>\n     04) status ;;<br \/>\n     05) qmailrestart ;;<br \/>\n     06) qsend_logs ;;<br \/>\n     07) queue_logs ;;<br \/>\n     10) kill_smtp ;;<br \/>\n     11) up_smtp ;;<br \/>\n     12) status_smtp ;;<br \/>\n     13) restart_smtp ;;<br \/>\n     14) qsmtp_logs ;;<br \/>\n     20) kill_pop3 ;;<br \/>\n     21) up_pop3 ;;<br \/>\n     22) status_pop3 ;;<br \/>\n     23) restart_pop3 ;;<br \/>\n     24) qpop3_logs ;;<br \/>\n     30) virus_log ;;<br \/>\n     31) queue_logs ;;<br \/>\n     32) rm_quarantine ;;<br \/>\n     33) rm_working ;;<br \/>\n     34) virus_count ;;<br \/>\n     35) virus_dat_version ;;<br \/>\n     36) stop_imapd ;;<br \/>\n     37) start_imapd ;;<br \/>\n     38) vlogs_imapd ;;<br \/>\n     50) exit ;;<br \/>\n     *) echo &#8220;Opcao desconhecida.&#8221; ; echo ; main ;;<br \/>\n   esac<br \/>\n}<\/p>\n<p> kill_qsend()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Matando o Qmail [qmail-send]&#8230;&#8221;<br \/>\n svc -k \/service\/qmail<br \/>\n echo &#8221; OK&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> up_qsend()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8220;Iniciando o Qmail [qmail-send]&#8230;&#8221;<br \/>\n svc -u \/service\/qmail<br \/>\n echo &#8221; O qmail-send foi iniciado e esta supervisionado.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> alrm_queue()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Reprocessando todas as mensagens nas filas Locais e Remotas&#8221;<br \/>\n svc -a \/service\/qmail<br \/>\n echo &#8221; Pronto.&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> qmailrestart()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Forcando a reinicializacao do Qmail&#8230; &#8221;<br \/>\n restart_qmail<br \/>\n echo &#8220;OK&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; O Qmail foi reiniciado e deve estar no ar,&#8221;.<br \/>\n echo &#8221; verifique o status do MTA:&#8221;<br \/>\n status<br \/>\n exit<br \/>\n }<\/p>\n<p> qsend_logs()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Quantas linhas de log do Qmail voce deseja analisar? &#8221;<br \/>\n read linhaslog<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Analisando as ultimas ${linhaslog} linhas dos logs do qmail: &#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n tail -${linhaslog} \/var\/log\/qmail\/current<br \/>\n exit<br \/>\n }<\/p>\n<p> queue_logs()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Quantas linhas de log do qmail-queue voce deseja analisar? &#8221;<br \/>\n read logqueue<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Analisando as ultimas ${logqueue} linhas dos logs do qmail-queue: &#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n tail -${logqueue} \/var\/spool\/qmailscan\/qmail-queue.log<br \/>\n exit<br \/>\n }<\/p>\n<p> kill_smtp()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Matando o Qmail SMTP [qmail-smtpd]&#8230;&#8221;<br \/>\n svc -k \/service\/smtpd<br \/>\n echo &#8221; OK&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> up_smtp()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8220;Iniciando o Qmail SMTP [qmail-smtpd]&#8230;&#8221;<br \/>\n svc -u \/service\/smtpd<br \/>\n echo &#8221; O qmail-smtpd foi iniciado e esta sendo supervisionado.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> status_smtp()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Status do daemon SMTP [qmail-smtpd]: &#8221;<br \/>\n svstat \/service\/smtpd<br \/>\n exit<br \/>\n }<\/p>\n<p> restart_smtp()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Forcando a reinicializacao do daemon SMTP [qmail-smtpd]&#8230; &#8221;<br \/>\n kill_smtp<br \/>\n up_smtp<br \/>\n }<\/p>\n<p> qsmtp_logs()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Quantas linhas de logs do qmail-smtpd voce deseja analisar? &#8221;<br \/>\n read smtplogs<br \/>\n echo &#8221; Analisando as ultimas ${smtplogs} linhas de logs do qmail-smtpd: &#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n tail -${smtplogs} \/service\/smtpd\/log\/main\/current<br \/>\n exit<br \/>\n }<\/p>\n<p> kill_pop3()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Matando o Qmail POP3 [qmail-pop3d]&#8230;&#8221;<br \/>\n svc -k \/service\/pop3d<br \/>\n echo &#8221; OK&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> up_pop3()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8220;Iniciando o Qmail POP3 [qmail-pop3d]&#8230;&#8221;<br \/>\n svc -u \/service\/pop3d<br \/>\n echo &#8221; O qmail-pop3d foi iniciado e esta sendo supervisionado.&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> status_pop3()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Status do daemon POP3 [qmail-pop3d]: &#8221;<br \/>\n svstat \/service\/pop3d<br \/>\n exit<br \/>\n }<\/p>\n<p> restart_pop3()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8220;Forcando a reinicializacao do daemon POP3 [qmail-pop3d]&#8230; &#8221;<br \/>\n kill_pop3<br \/>\n up_pop3<br \/>\n }<\/p>\n<p> qpop3_logs()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Quantas linhas de logs do qmail-pop3d voce deseja analisar? &#8221;<br \/>\n read pop3logs<br \/>\n echo &#8221; Analisando as ultimas ${pop3logs} linhas de logs do qmail-pop3d: &#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n tail -${pop3logs} \/service\/pop3d\/log\/main\/current<br \/>\n exit<br \/>\n }<\/p>\n<p> virus_log()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Quantas linhas de logs de virus encontrados voce deseja analisar? &#8221;<br \/>\n read viruslog<br \/>\n echo &#8221; Analisando as ultimas ${viruslog} linhas de logs sobre virus encontrados:&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n tail -${viruslog} \/var\/spool\/qmailscan\/viruses.log<br \/>\n exit<br \/>\n }<\/p>\n<p> rm_quarantine()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Apagando todos os emails armazenados em quarentena&#8230; &#8221;<br \/>\n find \/var\/spool\/qmailscan\/quarantine\/ -name &#8220;*${dominio}*&#8221; -exec rm -f {} \\;<br \/>\n echo &#8221; Apagados!&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> rm_working()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Apagando todas as mensagens verificadas por virus ha pouco&#8230;&#8221;<br \/>\n find \/var\/spool\/qmailscan\/working\/ -name &#8220;*${dominio}*&#8221; -exec rm -f {} \\;<br \/>\n echo &#8221; Apagados!&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p> virus_count()<br \/>\n {<br \/>\n echo &#8220;&#8221;<br \/>\n echo &#8221; Total de virus interceptados segundo os logs recentes: &#8221;<br \/>\n cat \/var\/spool\/qmailscan\/viruses.log | grep uvscan | wc -l<br \/>\n echo &#8221; Virus!&#8221;<br \/>\n exit<br \/>\n }<\/p>\n<p>stop_imapd()<br \/>\n{<br \/>\n echo &#8220;&#8221;<br \/>\n if [ -x \/usr\/local\/etc\/rc.d\/imapd.sh ]; then<br \/>\n    echo -n &#8220;Parando Courier-IMAP&#8230;&#8221;<br \/>\n    \/usr\/local\/etc\/rc.d\/imapd.sh stop<br \/>\n    echo &#8221; OK&#8221;<br \/>\n else<br \/>\n    echo &#8220;O courier-imap nao parece estar corretamente&#8221;<br \/>\n    echo &#8220;configurado via ports&#8230; Saindo.&#8221;<br \/>\n fi<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n}<\/p>\n<p>start_imapd()<br \/>\n{<br \/>\n echo &#8220;&#8221;<br \/>\n if [ -x \/usr\/local\/etc\/rc.d\/imapd.sh ]; then<br \/>\n    echo -n &#8220;Iniciando Courier-IMAP&#8230;&#8221;<br \/>\n    \/usr\/local\/etc\/rc.d\/imapd.sh start<br \/>\n    echo &#8221; OK&#8221;<br \/>\n else<br \/>\n    echo &#8220;O courier-imap nao parece estar corretamente&#8221;<br \/>\n    echo &#8220;configurado via ports&#8230; Saindo.&#8221;<br \/>\n fi<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n}<\/p>\n<p>vlogs_imapd()<br \/>\n{<br \/>\n echo &#8220;&#8221;<br \/>\n echo -n &#8221; Quantas linhas de logs do courier-imap voce deseja analisar? &#8221;<br \/>\n read imaplog<br \/>\n echo &#8221; Analisando as ultimas ${imaplog} linhas de logs do courier-imap:&#8221;<br \/>\n echo &#8220;&#8221;<br \/>\n grep -i &#8220;imapd:&#8221; -C1 \/var\/log\/maillog | tail -${imaplog}<br \/>\n echo &#8220;&#8221;<br \/>\n exit<br \/>\n}<\/p>\n<p> # Inicia esse programa em shell<br \/>\n main<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Script criado para auxiliar na manipula\u00e7\u00e3o do qmail no freebsd! [root@netuno ~]# cat \/usr\/local\/bin\/qmail-adm.sh #!\/bin\/sh dominio=&#8221;@i-hunter.net&#8221; main() { clear echo &#8220;======= Gerenciamento auxiliar do MTA QMAIL =======&#8221; echo &#8220;===================================================&#8221; echo &#8220;Opcoes:&#8221; echo echo &#8220;1 &#8211; Listar todas as mensagens na fila.&#8221; echo &#8220;2 &#8211; Listar&#8230;<\/p>\n","protected":false},"author":1,"featured_media":731,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/730"}],"collection":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=730"}],"version-history":[{"count":1,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/730\/revisions"}],"predecessor-version":[{"id":733,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/730\/revisions\/733"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/media\/731"}],"wp:attachment":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}