Postagens

DELETAR FILAS DE EMAIL POSTFIX / ZIMBRA

COMO LISTAR E DELETAR FILAS DE EMAIL CRIADAS POR UM USUÁRIO ESPECÍFICO (ZIMBRA8): Em muitos casos que um usuário teve suas credenciais de acesso comprometida, o bot tenta enviar milhares de emails para vários destinos possíveis. Após realizar o bloqueio do usuário, os emails de spam criados ainda ficam armazenados em filas aguardando serem enviados, e neste caso é necessário identificar os códigos de filas criados e deletar manualmente. A seguir é ilustrado como listar todos os IDs de filas criados para um usuário específico no Zimbra8: /opt/zimbra/common/sbin/postqueue -p | egrep -v '^ *\(|-Queue ID-' | awk 'BEGIN { RS = "" } { if ($7 == "user@example.com") print $1} ' O comando anterior lista todos os IDs para que o administrador decida o que fazer com as filas criadas. Caso decida deletar todos as filas de emails criadas do usuário basta redirecionar a saída do comando anterior para o comando "postsuper -d -" /opt/zimbra/common/sbin/post

LINUX - BACKUP DE ARQUIVOS GERADOS POR TFTP OU FTP

Olá pessoal, eu me chamo Anderson. Este script faz uma movimentação de arquivos de backup ignorando uma pasta existente:   #!/bin/bash -x cd /var/FileServerRoot/TFTP/  find /var/FileServerRoot/TFTP/ -maxdepth 1 -type f -exec tar --remove-files --exclude='./firmwares' -czvf /var/FileServerRoot/TFTP/temp.tar.gz {} +  mv /var/FileServerRoot/TFTP/temp.tar.gz /var/FileServerRoot/BACKUP/backup_$(date "+%Y%m%d_%H%M%S").tar.gz

ZIMBRA - BACKUP CONTAS DE EMAILS FECHADAS A MAIS DE 90 DIAS

 Olá Pessoal, Eu me chamo Anderson e hoje compartilharei com vocês mais um de meus scripts de backup do serviço de email ZIMBRA. Neste script a listagem de contas é criada dinamicamente e imediatamente é iniciado o processo de backup. Neste exemplo eu usei uma função chamado zm_backup_full para diminuir as linhas de código. #!/bin/bash # TÍTULO: ROTINA DE BACKUP DE CONTAS FECHADAS A MAIS DE 90 DIAS SEM USO # AUTOR: ANDERSON DA SILVA SERRA # CONTATO: anderson.silva.serra@gmail.com # Twitter: @andersonsserra # INSTAGRAM: @awksolutions # Arquivo: kb-seati-s00001.sh # # # # #habilite o set -x caso queira habilitar o modo debug do script: #set -x ########################### ARMAZENAMENTO DE LOGS ############################ LOG_PATH="/opt/zimbra/backup/scripts/logs/" LOG="$LOG_PATH/contas_sem_acesso_90D_$(date +"%Y%m%d%H%M%S").log" exec 1>> >(tee -a "$LOG") exec 2>&1 #####################################################################

Criar lista de blacklist dinamica Mikrotik (fetch)

 Criar os arquivos individuais no servidor web com o seguinte scripts, funciona para qualquer fonte: #!/bin/sh set -x saveTo=/var/www/html/blacklist now=$(date); echo "# Generated on $now" > $saveTo/ echo "/ip firewall address-list" >> $saveTo/dshield.rsc wget -q -O - http://feeds.dshield.org/block.txt | awk --posix '/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.0\t/ { print "add list=blacklist address=" $1 "/24 comment=DShield";}' >> $saveTo/dshield.rsc echo "# Generated on $now" > $saveTo/spamhaus.rsc echo "/ip firewall address-list" >> $saveTo/spamhaus.rsc wget -q -O - http://www.spamhaus.org/drop/drop.lasso | awk --posix '/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\// { print "add list=blacklist address=" $1 " comment=SpamHaus";}' >> $saveTo/spamhaus.rsc echo "# Generated on $now" > $saveTo/malc0de.rsc echo "/ip firewall address-list" >

Reclaiming VMFS de blocos deletados em LUNs Thin Provisioned (versões inferiores a VMFS6)

Neste artigo você encontra um script bash para realizar reclaim de espaço não realocado após deletar espaço em discos do tipo VMFS5. Segue script:   #!/bin/sh #============================================== # AUTOR: ANDERSON DA SILVA SERRA # CONTATO: anderson.silva.serra@gmail.com # Nome do arquivo: script_unmap.sh # Data: 15/10/2021 #=============================================== # ARMAZENAMENTO DE LOGS DE EVENTOS #=============================================== LOG="/opt/scripts/unmap/logs/log_unmap_volumes_$(date "+%Y%m%d%H%M%S").log" exec >> $LOG exec 2>&1 #=============================================== # DECLARACAO DE VARIAVEIS GLOBAIS #=============================================== ESXCLI="/usr/bin/esxcli" SAIDA="/opt/scripts/unmap/logs/status_unmap_script_$(date "+%Y%m%d%H%M%S").txt" echo "" > $SAIDA # ==== script ================================== echo "Horario inicio script:  $(date +"%Y-%

ZIMBRA - EXPORTA CONTAS ZIMBRA E MOVIMENTAR ARQUIVOS

 Segue script para efetuar backup de dados das contas de email do zimbra e movimentar para uma pasta de movimentação de arquivos: #!/bin/bash  -x ZMAILBOXCMD="/opt/zimbra/bin/zmmailbox" DEST="/opt/zimbra/backup" FILEOK="/opt/zimbra/backup/prontos" #armazenar arquivos contas com uso su - zimbra -c "/opt/zimbra/bin/zmprov gqu `zmhostname` | grep ma.def.br | awk '{print $3,$1}' | grep -v ^0 | awk '{print $2}' "  > /tmp/contas for mailbox in `cat /tmp/contas`; do su - zimbra -c "$ZMAILBOXCMD -z -m ${mailbox} -t 0 getRestURL \"//?fmt=tgz&query=is:anywhere\" " > $DEST/${mailbox}.tgz wait md5sum $DEST/${mailbox}.tgz > $DEST/${mailbox}.tgz.md5 wait mv $DEST/${mailbox}.tgz $DEST/${mailbox}.tgz.md5 $FILEOK done

MOVIMENTAÇÃO DE ARQUIVOS VIA CURL

 #!/bin/bash #BASE_PATH => Diretório onde contém os arquivos .tgz a serem enviados BASE_PATH=/opt/zimbra/backup/prontos ENVIADOS=${BASE_PATH}/enviados PID_FILE=/tmp/pid_import.$$ HOST_DEST="https://repositorio.exemplo.com.br/backup/" SLEEP=120 USER='usuario' SENHA='password' [ -d "${ENVIADOS}" ] || mkdir -p "${ENVIADOS}" cd $BASE_PATH LOG(){     echo -e "$(date "+%D %T") $*" } SAIR(){     LOG "Fim"     RET=$(rm -vf $PID_FILE)     LOG "$RET"     exit } >$PID_FILE LOG "Início PID: $PID_FILE" cd ${BASE_PATH} while [ -e "$PID_FILE" ];do     LOG "Atualizando contas."     DUMPS=$(ls -tr *@* 2>/dev/null)     if [ -z "$DUMPS" ]; then         LOG "Nenhum arquivo .tgz no diretório corrente."     else         for DUMP in $DUMPS;do             LOG "Verificando arquivo $DUMP."             [ -e "$PID_FILE" ] || SAIR             lsof $DUM