você está aqui: Home  → Arquivo de Mensagens

mail_check

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 09 de Abril de 1997

Outro dos problemas que administradores de sistemas encontram com bastante freqüência é o gerenciamento do espaço em disco. O filesystem /var, por exemplo, é vital para o funcionamento normal do sistema.

Se este filesystem atingir uma taxa de uso de 100% vários serviços são interrompidos, como por exemplo a coleta de dados para contabilização de uso de recursos do sistema e o mais importante de todos, o correio eletrônico.

Quando o /var atinge 100% nenhuma mensagem pode ser enviada ou recebida visto que mensagens que chegam são gravadas em /var/spool/mail e mensagens que saem vão para a fila em /var/spool/mqueue (a localização exata varia de sistema para sistema, mas normalmente são estas).

Várias medidas podem ser tomadas para evitar tamanho transtorno. O script que se segue pode ajudar nesta tarefa transferindo arquivos do diretório /var/spool/mqueue para o diretório home do usuário. O usuário recebe também uma notificação informando-o da transferência dos arquivos e os procedimentos que devem ser seguidos para recuperar suas mensagens.

  ------------------------------<mail_check>-----------------------------------
  #!/bin/csh
  
  # Definição de Variáveis 
  
  set DATA =  ""date +%d%m%y""
  set DIR = /usr/sys
  set dir_home = '$''home'
  
    
  # O laço abaixo irá primeiramente gerar uma listagem dos arquivos
  # contidos em /var/spool/mail e selecionar aqueles que sejam maiores
  # que 400K, ou seja, os usuários afetados serão apenas aqueles que
  # não lêem suas mensagens com frequencia. Os arquivos que forem maiores
  # que este valor serão movidos para o diretório home do usuário e receberão
  # o nome mbox.ddmmyy, onde os valores do dia, mes e ano serão determinados
  # a partir do comando "date +%d%m%y". O arquivo em /var/spool/mail é então
  # deletado e sua cópia, agora no diretório do usuário, é compactada.
  # O último passo é a mudança de ownership do arquivo para o usuário (visto
  # que o arquivo foi criado originalmente pelo usuário root.
  # 
  # Todos os comandos contidos neste laço serão executados para todos os
  # usuários cujas mailboxes excedam a 400Kbytes.
  
  foreach USER (""/bin/ls -l /var/mail | awk '$5 > 400000 {print $9}'"")
  
     mv /var/mail/$USER ~$USER/mbox.$DATA=
     rm ~$USER/mbox.$DATA.gz >&! /dev/null=
     /usr/local/bin/gzip ~$USER/mbox.$DATA=
     chown $USER  ~$USER/mbox.$DATA.gz=
  
  # A seguir é composta a mensagem que será enviada para o usuário.
  # O comando cat abaixo irá criar um arquivo em $DIR/mensagem.mail
  # que conterá todos os caracteres digitados até que seja encontrado
  # os caracteres EOF, que em nosso caso atuam como delimitadores.
  # Vale a pena prestar atenção nessa facilidade, visto que é bastante
  # útil.
  
  cat >! $DIR/mensagem.mail << EOF
  
  Prezado(a) Usuario(a),
  
  Visto que sua mailbox (/var/spool/mail/$USER) está excedendo o tamanho
  máximo permitido de 400K, ela foi transferida para o seu diretório home
  com o nome mbox.$DATA.gz.
  
  Isto se fez necessário visto que o filesystem /var estava com uma
  taxa de ocupação próxima a 100%, impedindo que nossos usuários
  enviassem ou recebessem mensagens.
  
  Favor seguir os seguintes passos para conseguir ler os seus mails
  novamente :
  
  1) cd   (para ir para o seu diretorio principal)
  
  2) /usr/local/bin/gzip -d  mbox.$DATA.gz  (para descompactar as mensagens)
  
  3) cat mbox.$DATA >> /var/mail/$USER
  
  Gostariamos de lembra-lo que seus mails devem ser lidos e movidos
  para o seu espaco de armazenamento pessoal e nunca deixados na 
  caixa de correio localizada no diretório /var.
  
  A maioria dos programas utilizados para leitura de mail (elm, pine,
  netscape, etc.) oferece facilidades para se criar folders, onde suas
  mensagens podem ser guardadas separadas por assuntos em outro local 
  que não o diretório /var/spool/mail/$USER.
  
  Em caso de dúvidas envie mensagem para o endereco suporte@netway.com.br.
  
  EOF
  
  mail -s "Modificações em sua mailbox..." $USER  < $DIR/mensagem.mail
  
  end
  
  ----------------------------<end mail_check>----------------------------


Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script