backupsl.sh

Publicado por Fábio Berbert de Paula 13/11/2002

[ Hits: 5.018 ]

Homepage: https://youtube.com/c/cotidianohackeado

Download backupsl.zip




Script usado para realizar backup dos principais arquivos de log, jogando os dados para outro diretório e zerando o conteúdo dos originais. Funciona como o log_rotate.

  



Esconder código-fonte

#!/bin/bash
# Fri Aug 16 2002
#
# backupSlack.sh
#
# Arquivos de log em certos sistemas com razoavel movimento 
# costumam crescer e comer espaco como ratos comem queijo. Realizando
# backups desses arquivos pode-se evitar problemas de espaco em disco
# que com o tempo podem ocorrer.
# O script funciona da seguinte forma: 
# Fazendo backups dos seguintes arquivos de log /var/log/: messages, cron,
# debug, sulog, syslog. 
# Ao fazer esses backups ele zera os 
# os arquivos e joga os backups para o diretorio criado na variavel $DST, 
# compactando-os.
# Execute o script de tempos em tempos, voce pode adicionar entradas no
# crontab para isso. 
# Voce deve ser root para executar esse programa.
# Verifique as permissoes do script, caso nao tenha permissao
# de execucao execute: chmod 755 backuplog.sh
# O programa foi testado em um Slackware 8.0 kernel 2.2.19
#
# Coded by Carlos Carvalho - hash
# Duvidas e sugestoes: [email protected]
# www.vivaolinux.com.br
#
# Gr33tz: Abeel k1ll3r F-117 anubssys Dark[x] 
#         RodZ Fuchs ( two micro$oft guys, they breath NT,
#         would you believe that?!) and few others...
#

if [ ! -d /var/log ]; then
  echo "/var/log NAO existe"
  echo "QUITTING"
  exit 1
fi

backup_function ()
{
#Destino dos backups, se preferir outra localizacao
#altere a linha seguinte:

DST=/root/log_backups

if [ ! -d $DST ]; then
    mkdir $DST
else
    rm -rf $DST/*
fi

#ROTINA PARA /var/log/* :

#Acrescente mais arquivos(*) em "for arquivo in * ; do" de necessario.

for arquivo in messages cron debug sulog syslog XFree86.0.log ; do

A=
Z=

if [ -e /var/log/$arquivo ]; then
      cat /var/log/$arquivo >> $DST/$arquivo.backup
      gzip $DST/$arquivo.backup
      echo > /var/log/$arquivo
      VAR=/var/log/$arquivo*
      MESSAGES=$(ls $VAR |wc -l)
   A=1
   Z=$MESSAGES
      while [ "$A" -lt "$Z" ]
      do
       cat /var/log/$arquivo.$A >> $DST/$arquivo.backup.$A
       gzip $DST/$arquivo.backup.$A
       echo > /var/log/$arquivo.$A
       A=`expr $A + 1`
      done
  echo "Backup de /var/log/$arquivo* completo"
else
      echo "/var/log/$arquivo NAO existe!"
fi
done
sleep 1
echo
echo "Salvos em: $DST"
echo
exit 0
}

info_function ()
{
echo "usage: ./backupSlack.sh [-iniciar] [-ver] [-uninstall]"
exit 0
}

#Entrada de argumentos

case $1 
in
   -iniciar)
      backup_function
           ;;
           -ver)
                ls /root/log_backups/
      echo -n "Qual log deseja visualizar? " 
      read FLOG
      less /root/log_backups/$FLOG
      exit 0
           ;;
     -uninstall)
      echo -n "O script e os backups serao deletados. Tem certeza? [s/n]: "
      read FERRARI
      if [ "$FERRARI" = "s" ]; then
      echo "Removidos!"
      rm -rf /root/log_backups
      rm -rf $0
                else
                echo "Script e diretorio intactos."
      exit 0
      fi
      ;;
         *)
                info_function
      ;;
esac
#EOF  

Scripts recomendados

Criando redundância de links

Conversão de *.ogg para *.mp3

Script para configuração do jogo 0 A.D

Text User Interface (TUI) com whiptail

Script para geração de mala direta usando svg


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts