Migrando assinaturas entre servidores Zimbra
No outro artigo migramos contas e mensagens dos usuários entre os servidores Zimbra, mas tem outras coisas que nossos usuários criam no servidor que podem ser migradas também: as assinaturas.
Sei que o ideal é que todos usem o padrão da empresa, mas nem sempre isso é possível, ou seja, cada um cria a sua.
O normal é que o logo da empresa seja posto em um servidor HTTP e os usuários usem a URL em suas assinaturas, mas geralmente eles vão fazer upload de cada logo individualmente 🙁 . Se seus usuários forem assim vai dar um problema ao importar a assinatura, vai ficar um quadrado com X no lugar da imagem.
Mas você pode corrigir e fazer com que o logo seja referenciado pela url, assim não terá (muita 🙂 ) dor de cabeça na importação.
Primeiro logue no servidor de Produção e faça o seguinte:
# su – zimbra
$ cd /tmp
$ mkdir sign
Crie o seguinte script no /tmp:
1 2 3 4 5 6 7 | vi obtem-assinaturas.sh #!/bin/bash # Obtemos uma lista de todas as contas do servidor ZMPROV="/opt/zimbra/bin/zmprov" for MAIL in $($ZMPROV -l gaa | sort); do $ZMPROV gsig $MAIL > sign/assinatura-$MAIL done |
Isso irá fazer um dump de todas as assinaturas no subdiretório sign com o nome assinatura-emaildousuario no seguite formato:
1 2 3 4 5 6 | # name Vagner zimbraPrefMailSignatureHTML: <p class="MsoNormal"><span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Atenciosamente;</span></p><br /><b>Vagner Fonseca</b><br /><b>Consultor de TI</b><br /><b>LPI Specialist</b><br /><span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt"><br /><img src="https://cooperati.com.br/wp-content/uploads/2011/11/banner-cooperati-mini.jpg"><br /> </span> <p class="MsoNormal"><span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE.</span></p> <p> </p> zimbraSignatureId: 3896270b-1dbd-4a72-a48a-c72d6ccf22b2 zimbraSignatureName: Vagner |
Mesmo que alguns usuários não tenham criado uma assinatura um arquivo será criado para eles, se o tamanho do arquivo for 0 é porque ele não tem assinatura e pode ser descartado.
É possível também com esses passos criar uma assinatura até para quem não tem, basta adaptar o script para usar um único arquivo para os usuários, mas isso fica para sua criatividade :-).
Copie o diretório sign para o /tmp do servidor de migração, logue como usuário zimbra e faça o seguinte script:
$ cd /tmp
1 2 3 4 5 6 7 8 | #!/bin/bash # ZMPROV="/opt/zimbra/bin/zmprov" for CONTAS in $(ls sign) ; do MAIL=$(echo $CONTAS | awk -F "assinatura-" '{print $2}') ASSINATURA="$(cat sign/$CONTAS | grep -v ^# | grep -v zimbraSignatureId | grep -v zimbraSignatureName | sed s/zimbraPrefMailSignatureHTML:/""/)" zmprov csig $MAIL nova zimbraPrefMailSignatureHTML "$ASSINATURA" done |
Esse script irá ler os arquivos no subdiretório sign e criar uma assinatura com nome nova para cada arquivo encontrado.
Pronto. Assinaturas migradas e usuários contentes (se é que isso é possível!)
Não se esqueçam de comentar, votar no TopBLog e curtir nossa página no Facebook… (ufa!)