backup automatizado via tar [RESOLVIDO]

1. backup automatizado via tar [RESOLVIDO]

WILLIAN VITOR DO AMOR
willsazon

(usa Ubuntu)

Enviado em 16/01/2012 - 17:33h

Boa tarde a todos.

Estou usando ubuntu server 10.4 server e estou tentando fazer backups automatizado de algumas pastas que possou no servidor.

Possuo um HD externo de 320GB ao qual quero salvar as pasta:

- /home/usuario1
- /home/usuario2
- /home/usuario3
- /etc
- var/log

Fiz alguns teste ate agora sem sucesso.

- tar /home. tar.gz /mnt/sdc1/home
- tar /etc.tar.gz /mnt/sdc1/home


Fiz um pequeno scrip e tambem sem sucesso.

mount /dev/sdc1 /mnt/hd_externo
montado='mount | grep /mnt/hd_externo'
if [-z "$montado" ]; then
exit 2
else
DATA='date +%Y-%m-%d-H.%M'
cd /mnt/hd_externo tar -zcvf /home-"$DATA".tar.gz /mnt/sdc1/home
umount /mnt/sdc1

Ao tentar fazer uma compactaçao manual com o tar ele da umas mensagens de erro.

-"arquivo alterado enquanto estava sendo lido."

- "Removendo '/' inical dos nomes dos membros.


coloquei o script no cron e dei permissao de execução, mas ainda sim nada.

Alguem pode dar uma ajuda?




  


2. Re: backup automatizado via tar [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 16/01/2012 - 18:30h

faz assim cria um diretorio
exemplo backup

#mkdir /backup

execute manual
#tar -zcvf /backup/backup.tar.gz /home

e ve se funciona


3. Re: backup automatizado via tar [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 16/01/2012 - 18:32h

há na duvida de uma olhada na man page do comando tar
#man tar




4. Script

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 16/01/2012 - 22:09h

O script que uso para backup full é este abaixo

data1="$(date +%d-%m-%Y)"
cd /
tar cvpzf /media/backup/backup_$data1.tgz --exclude /proc --exclude /var/www/sarg --exclude /lost+found --exclude /var/spool/squid3 --exclude /mnt --exclude /sys --exclude /dev/pts --exclude /media /
# A ultima barra corresponde o caminho que vou fazer o backup no caso desde a raiz
# No seu caso remove os --exclude e adiciona /home/
#### Restore ####
#tar xvpfz /media/backup/backup.tgz -C /

No cron fica assim:
03 23 * * * /usr/local/bin/backupful.sh * Diariamente as 23:30

Edite o fstab:

/dev/sdc1 /mnt/hd_externo ntfs auto,rw,umask=000 1 0 # (No caso de ser ntfs) Instale o ntsf-3g

/dev/sdc1 /mnt/hd_externo ext4 defaults 1 1 # (No caso de ser EXT4)






5. Re: backup automatizado via tar [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 16/01/2012 - 22:44h

Calma uma coisa de cada vez, primeiro teste seus comandos, depois crie o script, depois agente no cron, e em cada faze certifique-se que esteja funcionando.

Bom o comando tar:

tar -zcvf home.tar.gz /mnt/sdc1/home

o comando acima cria o arquivo home.tar.gz do diretório /mnt/sdc1/home.


Faça seus testes com calma e poste onde tiver problemas, depois de ralar muito, você vai acabar descobrindo uma ótima ferramenta, denominada rsync, que faz backup de forma rápida, inteligente e fácil.

Obs.: Isso aconteceu comigo ;-)







6. Re: backup automatizado via tar [RESOLVIDO]

WILLIAN VITOR DO AMOR
willsazon

(usa Ubuntu)

Enviado em 17/01/2012 - 08:36h

Ola, um bom dia e muito obrigado a todos que responderam.

danniel-lara escreveu:

faz assim cria um diretorio
exemplo backup

#mkdir /backup

execute manual
#tar -zcvf /backup/backup.tar.gz /home

e ve se funciona


Danniel-lara,
ja tenho as pastas criadas no hd-externo, onde criei a pasta home(para fazer o backup da home), a pasta Dados(para salvar meu banco de dados firebird), a pasta etc (para salvar o etc com as minhas configurações) e criei a pasta log(para salvar os meus logs).



rai3mb escreveu:

Calma uma coisa de cada vez, primeiro teste seus comandos, depois crie o script, depois agente no cron, e em cada faze certifique-se que esteja funcionando.

Bom o comando tar:

tar -zcvf home.tar.gz /mnt/sdc1/home

o comando acima cria o arquivo home.tar.gz do diretório /mnt/sdc1/home.


Faça seus testes com calma e poste onde tiver problemas, depois de ralar muito, você vai acabar descobrindo uma ótima ferramenta, denominada rsync, que faz backup de forma rápida, inteligente e fácil.

Obs.: Isso aconteceu comigo ;-)



caro rai3mb,

eu fiz primeiro o teste com o tar sem criar o scrip, porem ele me da uma das duas mensagens,

-"arquivo alterado enquanto estava sendo lido."

- "Removendo '/' inical dos nomes dos membros.


e não faz mais nada.


uma vez ja usei o rsync no ubuntu 9.04.

Fiquei um tempo sem fazer nem um servidor linux. Nas versões posteriores ao 9.04 me parece que tiveram varias mudanças, inclusive de arquivos de configuração (posso estar enganada).


andrecanhadas escreveu:

O script que uso para backup full é este abaixo

data1="$(date +%d-%m-%Y)"
cd /
tar cvpzf /media/backup/backup_$data1.tgz --exclude /proc --exclude /var/www/sarg --exclude /lost+found --exclude /var/spool/squid3 --exclude /mnt --exclude /sys --exclude /dev/pts --exclude /media /
# A ultima barra corresponde o caminho que vou fazer o backup no caso desde a raiz
# No seu caso remove os --exclude e adiciona /home/
#### Restore ####
#tar xvpfz /media/backup/backup.tgz -C /

No cron fica assim:
03 23 * * * /usr/local/bin/backupful.sh * Diariamente as 23:30

Edite o fstab:

/dev/sdc1 /mnt/hd_externo ntfs auto,rw,umask=000 1 0 # (No caso de ser ntfs) Instale o ntsf-3g

/dev/sdc1 /mnt/hd_externo ext4 defaults 1 1 # (No caso de ser EXT4)



andrecanhadas,
meu hd ja esta montado no mont/hd_externo, consigo acessar os arquivos ja estao salvos dentro deles, ele esta em ntfs, e funcionando mesmo quando dou reboot no servidor.
testarei sei script aqui, mas o tar nao ta fazendo nem na mao meu amigo.


No mais estou no aguardo, caso alguem tenha mais alguma ideia, estou aberto a sugestões.






7. Reinstalação

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 17/01/2012 - 10:32h

Reinstala o tar

aptitude remove --purge tar libtar && aptitude install tar libtar


8. Re: backup automatizado via tar [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 17/01/2012 - 10:58h

de o comando tar sem essa / inicial no nome do arquivo:

vc digita:

tar -zcvf /home-"$DATA".tar.gz /mnt/sdc1/home

faça

tar -zcvf home-"$DATA".tar.gz /mnt/sdc1/home


9. Re: backup automatizado via tar [RESOLVIDO]

WILLIAN VITOR DO AMOR
willsazon

(usa Ubuntu)

Enviado em 17/01/2012 - 11:13h

andrecanhadas escreveu:

Reinstala o tar

aptitude remove --purge tar libtar && aptitude install tar libtar


andrecanhadas,

reinstalei o tar e funcionou, ele criou a pasta compactada no meu hd externo, porem minha pasta home completa tinha 9,7GB ele so compactou ate 1,57GB, deixando assim eu backup corrompido.



rai3mb escreveu:

de o comando tar sem essa / inicial no nome do arquivo:

vc digita:

tar -zcvf /home-"$DATA".tar.gz /mnt/sdc1/home

faça

tar -zcvf home-"$DATA".tar.gz /mnt/sdc1/home


rai3mb,
eu fiz o teste sem a barra.
eu digitei no terminal da seguinte maneira.

cd /home
tar -zcvf home.tar.gz /mnt/hd_externo/backups/home


tem algum parametro ou limite de tamanho de arquivo no tar?




10. Re: backup automatizado via tar [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 17/01/2012 - 11:26h

o conteúdo do "backup" não ficou pequeno porque você está compactando o diretório do HD EXTERNO enão do INTERNO????

tar -zcvf home.tar.gz /mnt/hd_externo/backups/home[/b]

você não quer algo como:

tar -zcvf home.tar.gz /home[/b]


Outra coisa, vai compactar o conteúdo, então o tamanho final será menor mesmo, dependendo do tipo de arquivos que você tem (muito texto), a compactação será enorme.


11. Re: backup automatizado via tar [RESOLVIDO]

WILLIAN VITOR DO AMOR
willsazon

(usa Ubuntu)

Enviado em 17/01/2012 - 17:26h

rai3mb escreveu:

o conteúdo do "backup" não ficou pequeno porque você está compactando o diretório do HD EXTERNO enão do INTERNO????

tar -zcvf home.tar.gz /mnt/hd_externo/backups/home[/b]

você não quer algo como:

tar -zcvf home.tar.gz /home[/b]


Outra coisa, vai compactar o conteúdo, então o tamanho final será menor mesmo, dependendo do tipo de arquivos que você tem (muito texto), a compactação será enorme.


rai3mb,
realmente eu estava colocando ao inverso na hora de mandar compactar. agora eu executei meu script atravez do comando ./script-backup e esta compactando corretamente.

segue conteudo do meu script.

mount /dev/sdc1 /mnt/hd_externo
montado='mount | grep /mnt/hd_externo'

if [ -z "$montado" ] ; then
exit 2
else
DATA='date +%Y-%m-%d-%H.%M'
echo "Iniciando Backup da Pasta Home"
cd /mnt/hd_externo/backups/terca/home
tar -zcvf home-"$DATA".tar.gz /home
tar -tf-"$DATA".tar.gz
umount /mnt/hd_externo
fi
echo "Backup da Pasta Home Finalizado"



Agora pra finalizar gostaria de deixa-lo funcional, tenho algumas caracteristicas que gostaria de melhorar.

- o nome do arquivo final não sai com a data, ele sai escrito da seguinte maneira: home-date\ +%Y-%m-%d-%H.%M.tar.gz.

- quando tento montar o hd pelo mount aparece a mensagem que so pode ser montado pelo root.

- alguns arquivos nas pastas de usuarios estao dando erro de permissao, apareceno a seguinte mensagem: tar:/home/usuario/.nano_history: Não é possivel open: Permissao negada.

log mais abaixo aparecem as mensagens:

- tar: -date +%Y-%m-%d-%H.%M.tar.gz: Não é possivel open: Arquivo ou diretorio nao encontrado.
- tar: Error is not recoverable: exiting now
umount: somente root pode desmontar /dev/sdc1 de /mnt/hd_externo.


Acho que estou indo no caminho certo, da pra alguem me dar mais umas dicas?




12. Data

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 17/01/2012 - 17:45h

Usa o exemplo que passei para a data

Quanto as permissões este arquivo é somente leitura e somente o root ou o usuário podem acessar.Seu script tem que rodar como root.

Quanto a montar o HD usa o sudo mount ou coloca ele como mostrei no fstab



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts