Backup

Publicado por Edson Ramiro 29/08/2004

[ Hits: 6.653 ]

Download backup.sh




Ola amigos.
Aqui vai um Shell-Script de backup :)
Ele tem uma opcao para fazer recursivamente o backup ou fazer apenas fazer backup dos arquivos. Ele faz apartir do diretorio que voce estiver, tem logs e imformacoes de quem realizou o backup.

  



Esconder código-fonte

#!/bin/bash

# Incrementacoes sao bem vindas
# ATENCAO --> Nao estao incluidos os arquivos ocultos no backup
# Coloquem uma funcao para os arquivos ocultos e mandem pra mim
# "lucasdebian@ibest.com.br" 

BACKUP_RECURSIVE()
{
        for i in *
        do
                if [ -e backup/$i ]; then
                        rm -rf backup/$i 2>/dev/null
                        cp -Rf $i backup/$i 2>/dev/null &&
                        echo "Substitui (backup/$i) por ($i)"
                        echo "Substitui (backup/$i) por ($i)" >> backup/BACKUP.LOG
                else
                        cp -Rf $i backup/$i 2>/dev/null &&
                        echo "Fiz backup de ($i)."
                        echo "Fiz backup de ($i)." >> backup/BACKUP.LOG
                fi
        done
        LOG
        echo ""
        echo " --CONCLUIDO BACKUP RECURSIVO"
        echo " --CONCLUIDO BACKUP RECURSIVO" >> backup/BACKUP.LOG
        /bin/date >> backup/BACKUP.LOG
        echo "============================================" >> backup/BACKUP.LOG
        echo "" >> backup/BACKUP.LOG
        echo ""
}
BACKUP_FILES()
{
        for i in *
        do
                if [ -e backup/$i ]; then
                        rm -f backup/$i 2>/dev/null
                        cp $i backup/$i 2>/dev/null &&
                        echo "Substitui (backup/$i) por ($i)"
                        echo "Substitui (backup/$i) por ($i)" >> backup/BACKUP.LOG
                else
                        cp -f $i backup/$i.bkp 2>/dev/null &&
                        echo "Fiz backup de ($i)."
                        echo "Fiz backup de ($i)." >> backup/BACKUP.LOG
                fi
        done
        LOG
        echo ""
        echo " --CONCLUIDO BACKUP"
        echo " --CONCLUIDO BACKUP"  >> backup/BACKUP.LOG
        /bin/date >> backup/BACKUP.LOG
        echo "============================================" >> backup/BACKUP.LOG
        echo "" >> backup/BACKUP.LOG
        echo ""
}
CHECK(){
if [ -d backup/ ]; then
        RORF
else
        mkdir backup &&
        echo "--Criado o diretorio \"backup\" " > backup/BACKUP.LOG
        RORF
fi
}

RORF()
{
echo "Fazer Backup dos diretorios tambem?(s/n)"
read h
case $h in

        s)BACKUP_RECURSIVE;;
        n)BACKUP_FILES;;
        help)HELP;;
        q)exit;;
        *)echo ""; echo "--Para ajuda use \"help\" "; echo ""; CHECK;;
esac
}

# Eu fiz um "--help" para mim mesmo :)
HELP()
{
        clear
        less /usr/share/doc/backup.sh/manual.txt
        CHECK
}

LOG()
{
        echo "" >> backup/STATUS.LOG
        /bin/date >> backup/STATUS.LOG
        echo "" >> backup/STATUS.LOG
        echo "Backup feito como usuario: $USER" >> backup/STATUS.LOG
        echo "Backup feito pelo usuario: $LOGNAME" >> backup/STATUS.LOG
        echo "============================================" >> backup/STATUS.LOG

}
CHECK

Scripts recomendados

Balanceamento de Carga e Alta Disponibilidade usando IPTABLES

instalar o xpde.

Calculando tempo para reportar relatórios ou as famosas log`s.

Script para instalação de um servidor web

Randomize - Gera números aleatórios de 1 a 100 mil


  

Comentários
[1] Comentário enviado por diekn em 22/05/2007 - 21:31h

Blz,cara,vou testar pra ver.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts