Comando No BKP [RESOLVIDO]

1. Comando No BKP [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 23/04/2009 - 14:49h

Olá Pessoal Blz? Seguinte criei uma rotina básica de BACKUP utilizando SHELL SCRIPT Juntamente com Crontab. A minha dúvida é a seguinte, Não sei como fazer para que um dos BKPs mais antigos seja apagado!
veja como eu fiz.
-------
#!/bin/sh
# Variaveis
DIR_ORIG="/dados/"
DIR_DEST="/media/disk/"
DIR=`date +%d-%m-%y`
# BKP
echo "O BKP irá iniciar"
echo
echo "Criando diretorio ${DIR_DEST}${DIR}"
echo "Copiando pastas de ${DIR_ORIG} Para ${DIR_DEST}${DIR}"
echo "Aguarde..."
sudo cp -R ${DIR_ORIG} ${DIR_DEST}${DIR}
echo "BKP Realizado"
exit 0
------
Do jeito que está, tá funcionando normal, mas esta enchendo a minha gaveta muito rápido, pois tenho 46gb de bkp e uma gaveta de 160gb. e todo dia tenho que ir lá excluir um.

OBS.: Nao quero fazer por TGZ, quero as pastas sem compactação.

Sua ajuda será apreciada.
Grato,

William Maggi


  


2. MELHOR RESPOSTA

nelio
neliobjr

(usa Red Hat)

Enviado em 23/04/2009 - 17:45h

Ola,

Acredito q uma melhor maneira de resolver isto é assim:

find /pasta_backup/ -ctime +07 -exec rm -rf {} \;
#procura na pasta de backup os arquivos criados a mais de 07 dias e os apagam.

tenho essa rotina funcionando beleza em meus servidores, tenho ele em um script a parte tb chamado pela cron, mas nada impede de que seja adicionada na ultima linha do seu backup.

ABS

3. Re: Comando No BKP [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 23/04/2009 - 15:02h

Talvez isso resolva:

#!/bin/sh
# Variaveis
DIR_ORIG="/dados/"
DIR_DEST="/media/disk/"
DIR=`date +%d-%m-%y`
# Mover backup antigo para qualquer eventualidade
sudo mkdir /tmp/backup
sudo mv /media/disk/* /tmp/backup
# BKP
echo "O BKP irá iniciar"
echo
echo "Criando diretorio ${DIR_DEST}${DIR}"
echo "Copiando pastas de ${DIR_ORIG} Para ${DIR_DEST}${DIR}"
echo "Aguarde..."
sudo cp -R ${DIR_ORIG} ${DIR_DEST}${DIR}
if [ $? -eq 0 ]; then
sudo rm -rf /tmp/backup
echo "BKP Realizado"
else
echo "BKP não Realizado"
fi
exit 0


4. Re: Comando No BKP [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 23/04/2009 - 17:59h

neliobjr, o seu método é mais seguro. Gasta menos processamento, fica mais otimizado. Como sou iniciante em shell script, fica ae mais um aprendizado... obrigado por ajudar.


5. Re: Comando No BKP [RESOLVIDO]

rodrigo martins
rodrigomb

(usa CentOS)

Enviado em 24/04/2009 - 17:17h

legal as dicas, dá pra fazer tambem rotacionando o backup.

ex: 5 dias da semana, ai cria as pastas tipo 1 2 3 4 5 ou por nomes.

e no script de backup vc faz a rotina para apagar sempre o 5, todo dia e mover o 4 p/ 5 , 3 p/ 4 , 2 p/ 3 , 1 p/ 2 e no final criar a pasta 1 que vai ser o backup do dia atual.

no seu caso ai pelo que percebi da pra fazer ums 2 a 3 dias de backup... bom da pra faze muita coisa ai vai da sua imaginação.




6. Re: Comando No BKP [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 27/04/2009 - 15:35h

Caras! Muito Obrigado, vcs são feras mesmo.. todas as respostas são excelentes, mas acho que a que mais é cabivel a mim é a do neliobjr. Portanto me corrija se eu estiver correto. O script Ficará assim:
----------------
#!/bin/sh
# Variaveis
DIR_ORIG="/dados/"
DIR_DEST="/media/disk/"
DIR=`date +%d-%m-%y`
#Apaga antigo
echo "Excluindo cópia mais antiga"
find /media/disk -ctime +07 -exec rm -rf {} \;
echo "Pronto"
# BKP
echo "O BKP irá iniciar"
echo
echo "Criando diretorio ${DIR_DEST}${DIR}"
echo "Copiando pastas de ${DIR_ORIG} Para ${DIR_DEST}${DIR}"
echo "Aguarde..."
sudo cp -R ${DIR_ORIG} ${DIR_DEST}${DIR}
echo "BKP Realizado"
exit 0
-----------
Agradeço mais uma vez a ajuda de todos (y)



7. Re: Comando No BKP [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 27/04/2009 - 18:27h

Cara legal poder ter ajudado, só tem um probleminha ai, q me aconteceu uma vez, lembro do prob, mas não lembro no que resultava, que é a falta de umabarra no final do caminho no find.

fica assim:

echo "Excluindo cópia mais antiga"
find /media/disk/ -ctime +07 -exec rm -rf {} \; #coloquei a barra no find /media/disk/<--aqui
echo "Pronto"

um outro jeito como vc declara variavel é:

echo "Excluindo cópia mais antiga"
find $DIR_DEST -ctime +07 -exec rm -rf {} \;
echo "Pronto"


fica menos poluido, se precisar alterar algum dia nao tem q sair correndo atras.

no mais, se precisar posta ai!!!

ABS



8. Resolvido

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 27/04/2009 - 21:45h

Legal, bem lembrado
.
ficou assim
.-.-.-.-.-.-.-.-.-.-.
#!/bin/sh
# Variaveis
DIR_ORIG="/dados/"
DIR_DEST="/media/disk/"
DIR=`date +%d-%m-%y`
#Apaga antigo
echo "Excluindo cópia mais antiga"
find ${DIR_DEST} -ctime +07 -exec rm -rf {} \;
echo "Pronto"
# BKP
echo "O BKP irá iniciar"
echo
echo "Criando diretorio ${DIR_DEST}${DIR}"
echo "Copiando pastas de ${DIR_ORIG} Para ${DIR_DEST}${DIR}"
echo "Aguarde..."
sudo cp -R ${DIR_ORIG} ${DIR_DEST}${DIR}
echo "BKP Realizado"
# Desliga
echo "O Servidor será desligado"
init 0
# exit 0
-.-.-.-.-.-.-.-.-.-
.
Isso ae kra.. ficou otimo ne, uma coisa bem simples e funcional!
agradecido!
fica ae mais um aprendizado hehe!