luizcarlos18rj
(usa Suse)
Enviado em 25/04/2014 - 13:09h
Como copiar direto na fita em .tar pelo comando scp para economizar espaço em disco?
Oi galera, gostaria de tirar uma dúvida sobre o seguinte caso:
- Tava tentando criar (sou iniciante) um script simples para que um servidor de backup ás 22:30 todos os dias começasse a copiar para si, pastas importantes de outros 3 servidores em rede.
- Infelizmente um desses 3 servidores tem um drive de fita LT0 e eu tenho mídias de 900GB para backup, gostaria muito que o SERVIDOR de backup tivesse esse drive, mas ele foi instalado em outro no passado e não deixaram tirar.
- Por causa disso, tenho que fazer um backup diário (total) nesse servidor de backup (que tem 7 HDs de 300GB e fiz uma LVM para somar tudo dando aproximadamente 2TB para armazenamento) criando pastas com a data do dia até encher o HD e depois deletar os mais antigos.
- Ao mesmo tempo após cada backup eu queria compactar para .tar sem compressão e mandar gravar na fita lto em outro servidor, assim fico com backups diários em HD e tb em fita com a vantagem da fita, por eu ter vários posso ter backups mais antigos para restauração, os em HD duram uma semana pois a soma total de arquivos é 215GB.
Daí fiz esse script e queria a juda de vcs:
###################################
#DECLARA VARIAVEIS
pasta=bkp$(date +%d%m%y)
notes=bkpNotes$(date +%d%m%y)
redeadm=bkpRedeAdm$(date +%d%m%y)
web=bkpWeb$(date +%d%m%y)
#---------------------------
#
# Cria novos diretórios (com a data do dia) vazios para backup
#
cd /root/backup
mkdir $pasta
cd $pasta
mkdir $notes
mkdir $redeadm
mkdir $web
#
#---------------------------
#
# Copia os arquivos
#
scp -r root@10.3.48.3:/srv /root/backup/$pasta/$web
scp -r root@10.3.48.3:/var/lib/mysql /root/backup/$pasta/$web
scp -r root@10.3.48.2:/local/notesdata /root/backup/$pasta/$notes
scp -r root@10.3.48.13:/home/VOL01 /root/backup/$pasta/$redeadm
scp -r root@10.3.48.13:/home/VOL02 /root/backup/$pasta/$redeadm
scp -r root@10.3.48.13:/home/VOL03 /root/backup/$pasta/$redeadm
#
#---------------------------
#
# Compacta e grava
#
tar -cvf /root/backup/$pasta.tar /root/backup/$pasta
scp /root/backup/$pasta.tar root@10.3.48.2:/dev/st0
rm /root/backup/$pasta.tar
##############################################################
Minha dúvida é na ultima parte;
tar -cvf /root/backup/$pasta.tar /root/backup/$pasta
scp /root/backup/$pasta.tar root@10.3.48.2:/dev/st0
rm /root/backup/$pasta.tar
Do jeito que está ele duplica o tamanho em disco pois copia os diretórios, cria um arquivo.tar, grava na fita e depois deleta o arquivo .tar
Como copiar direto na fita em .tar pelo comando scp para economizar espaço em disco?
Tem como otimizar esse código, deixá-lo com menos linhas?