Fazer backup completo para instalação e armazenar em outra partição

1. Fazer backup completo para instalação e armazenar em outra partição

Matth
MattF

(usa Slackware)

Enviado em 06/05/2015 - 13:06h

Como já está virando um esporte desinstalar e instalar o slackware no meu notebook, gostaria de algumas dicas para fazer um backup completo de instalação e colocar em outra partição do computador. Assim quando for reinstalar já formataria a partição do slack e restauraria o sitema denovo.
Um backup de restauração não seria útil para mim, pois já brickei o slack de forma que não dava para logar e fazer alguma coisa. Não sou expert no ramo por isso eu pergunto: se eu compactar tudo do diretório "/" e colocar em uma pasta e compactar e salvar em outra partição funcionaria? Depois era só extrair tudo denovo. Isso funcionaria? Se não, o que seria a maneira mais correta


  


2. Re: Fazer backup completo para instalação e armazenar em outra partição

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 07/05/2015 - 01:39h

Em teoria isso funcionaria se e somente se o hd destino tiver o mesmo esquema de particionamento do hd origem e se o LILO for reinstalado manualmente. Na prática, esse é um bom experimento. Faça e relate os resultados.
--
Luís Fernando Carvalho Cavalheiro
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta


3. Re: Fazer backup completo para instalação e armazenar em outra partição

Matth
MattF

(usa Slackware)

Enviado em 07/05/2015 - 08:18h


lcavalheiro escreveu:

Em teoria isso funcionaria se e somente se o hd destino tiver o mesmo esquema de particionamento do hd origem e se o LILO for reinstalado manualmente. Na prática, esse é um bom experimento. Faça e relate os resultados.
--
Luís Fernando Carvalho Cavalheiro
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta


Obrigado Icavalheiro. É que inicialmente eu pensei em fazer uma cópia da partição usando o comando dd para zipar e enviar para outra partição. Só que eu não tinha me dado conta que isso criaria uma cópia do tamanho da partição, não só dos arquivos dela. Então vou zipar e enviar por métodos mais convencionais mesmo.(zipar no sentido linux, kkk)






4. Re: Fazer backup completo para instalação e armazenar em outra partição

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/05/2015 - 10:32h

Já fiz isso usando o dd (de partição para arquivo), como você descreveu, e funciona sim. Depois é só reinstalar o
carregador de boot. Mas isso é muito limitado!!!!

Eu prefiro usar o Fsarchiver. É uma ferramenta fantástica. Com o fsarchiver você pode criar um backup do sistema e transferir para outra partição de tamanho diferente da original, até mesmo para uma partição menor. Dá até para trocar o sistema de arquivo, ou seja, se você quiser mudar de ext4 para reiserfs, dá pra fazer numa boa. Sem falar que é bem mais rápido do que o dd. Experimente!!!



5. Re: Fazer backup completo para instalação e armazenar em outra partição

Matth
MattF

(usa Slackware)

Enviado em 07/05/2015 - 11:47h

PauloHAC escreveu:

Já fiz isso usando o dd (de partição para arquivo), como você descreveu, e funciona sim. Depois é só reinstalar o
carregador de boot. Mas isso é muito limitado!!!!

Eu prefiro usar o Fsarchiver. É uma ferramenta fantástica. Com o fsarchiver você pode criar um backup do sistema e transferir para outra partição de tamanho diferente da original, até mesmo para uma partição menor. Dá até para trocar o sistema de arquivo, ou seja, se você quiser mudar de ext4 para reiserfs, dá pra fazer numa boa. Sem falar que é bem mais rápido do que o dd. Experimente!!!


Então amigo, eu quero transferir para uma partição onde se encontra outro linux e essa partição tem ums 40 Gb de espaço livre sendo que o slackware ocupa ums 20 agora. Isso pode funcionar?

Eu na verdade estou pensando em criar um script que faz o seguinte:
Tem um menu para selecionar upgrade, backup e restauração.

Dentro do backup, ele entra no diretório "/" ele pega pasta a pasta e envia para a partição que o usuário desejar compactando tudo em um gz, ou outro formato. No meu caso esse outro diretório é a partição onde está outro linux.

Ai, se eu quiser fazer um upgrade da minha situação atual para esse backup(gz), na opção upgrade ele descompacta o arquivo de destino, que é o backup, para que um laço de repetição analise cada arquivo em cada diretório. Se o arquivo existir no original e não no backup ele copia. Se ele já existir, entra em uma compração se os arquivos são exatamente os mesmos. Se forem ele não faz nada(a inteção disso era pra ser tornar o processo mais eficiente), caso o contrário ele substitui. No fim do processo ele recompacta.

No restauração o script deve apagar tudo do diretório e substituir pelo backup. Fazendo isso arquivo por arquivo, quando estiver no outro linux, porque afinal, se fizesse arqquivo por aquivo, substituindo passo-a-passo existiria alguma chance de poder usar essa restauração dentro do sistema a ser restaurado?



Isso seria uma mão na roda para mim, o que acham da idéia? Estou querendo usar somente o baśico de scripts e de compactamento para que o script rode facilmente. Tive vários problemas instalando coisas no slackware então não quero ter que instalar nada mais para poder ter que fazer um backup. Outra coisa é que queria isso pra rodar em qualquer distro linux, o que seria muito útil para todos nós. Alguma complementação?


6. Re: Fazer backup completo para instalação e armazenar em outra partição

Matth
MattF

(usa Slackware)

Enviado em 10/05/2015 - 17:20h


Então pessoal, é isso que eu tenho até agora:


#!/bin/bash



upg(){


##Seletor de diretório de instalação dos backups para facilitar na organização no upgrade
##Descomente a linha abaixo para usar seleção manual de arquivos para upgrade de backup

manual=1

if [ $manual -eq 1 ]; then
echo "Entre com o diretório de arquivo para backup upgrade"
read arch
echo "Nome do arquivo(sem complemento): "
read name
echo "Entre com o diretório para backup"
read dir

else
#usar memória
echo " a fazer"


fi



}






while [ 1 == 1 ]
do
here= pwd
echo $here
echo "Escolha uma opção: (B) para backup completo, (U) para atualizar seu backup ou (R) para restauração de sistema"
read op

if [ $op == "b" -o $op == "B" ]
then
clear
echo "Backup completo"

echo "Escolha um diretório em uma partição ou diretório montado para armazenar o backup"
read dest
if [ ! -d "$dest" ]; then
echo "Entre com um diretório válido !"
continue
fi
echo "Escolha nome para o arquivo de backup (só o nome!)"
read name
echo "Escolha um diretório para backup"
read backdir

if [ ! -d "$backdir" ]; then
echo "Entre com um diretório válido !"
continue
fi

echo "Confirmar backup de $backdir para $dest? (Enter para fazer o backup)"

read

cd $dest
mkdir $name
for i in $backdir/
do
echo "copiando $i para $dest/$name"
cp -r $i $dest/$name
done


cd $dest
echo "Comprimindo arquivo..."
tar -cf $name.tar $name
rm -r $name

echo "Escolha um formato de compactação: gz ou bz2(escreva!)(nota: tecle enter para deixar como .tar)"
read formato


if [ $formato == "gz" ]; then

gzip -9 $name.tar

type=".gz"

elif [ $formato == "bz2" ]; then

bzip2 $name.tar
type=".bz2"
else
type=".tar"
fi

echo "Backup concluído!"

arm="$dest/$name$type"
echo $arm >> $here/dir.txt


exit 0










elif [ $op == "U" -o $op == "u" ]
then
clear
echo "Atualizar backup"

#Entrada de variáveis sh
cd $here
./backdir.sh



cd $arch

mkdir temporary

#descompactar $name e jogar para temporary
bunzip2 $nome.tar.bz2
gzip -d $nome.tar.gz




tar -zxvf $name.tar


cp $name temporary

cd $dir

for i in *
do
yes | cp -R $i $arch/temporary/$name/
echo "--> $i"
done

cp $arch/temporary/$name $arch
cd $arch
tar -cf $name.tar $name
rm -r temporary

echo "Escolha um formato para compactação(gz, bz2,ou deixe como tar pressionando enter)"

read $formato



if [ $formato == "gz" ]; then

gzip -9 $name.tar

type=".gz"

elif [ $formato == "bz2" ]; then

bzip2 $name.tar


fi


echo "Upgrade de Backup concluído!"

exit 0













elif [ $op == "R" -o $op == "r" ]
then
clear
echo "Restaurar sistema"







exit 0
else
echo "Informação incorreta!"
sleep 1
fi
done



Ainda não funciona porque está incompleto e como vocẽs devem ver não sou um especialista em script mesmo, mas pelo menos tenho muita vontade. O dir.txt é um arquivo que armazenará os locais de backup para gerar um menu de opções quando upg for usada. (com a 5 linha comentada). Para quem quiser me ajudar com isso aqui vão os problemas que já encontrei até aqui.

1_ O comando cp dá erros de permission denied demais, mesmo sendo executado como root, isso quando tento usar copiar do diretório /. Por isso preciso implementar ali para não copiar o diretório onde as partições são montadas e outras coisas. Por isso a pergunta: O que deve conter um backup? Tipo, para ser um snapshot do sistema mesmo. Talvez com algo alternativo ao cp.

2_ A parte do Upgrade de backup não é isso que foi feito ai, não era para ser. Ainda não pensei direito em como fazer o que eu disse acima.

3_Na parte de Restauraçãoo. Como vou restaurar um sistema inteiro dentro dele mesmo? Talvez o backup total seja possível só por outro método mesmo.

Aceito qualquer ajuda/implementação/dica. Como disse quero compartilhar isso com todos depois de concluído. Sei que existem alternativas e outros programas que fazem a mesma coisa, mas quero escrever um script que use somente o básico do básico, como esse acima, ou que pelo menos não seje complicado demais, para que possa funcionar em qualquer linux.

Muito obrigado, se chegou até aqui tem que estar muito interessado. Como disse, aguardo qualquer colaboração.


7. Re: Fazer backup completo para instalação e armazenar em outra partição

edps
edps

(usa Slackware)

Enviado em 10/05/2015 - 19:11h

Para mim que sou leigo, o mais importante são as personalizações (instalar o sistema é rápido quando o Slackware, já o Debian demora pois vou de NetInstall), então a prioridade sempre será minha $HOME, assim, de vez em sempre tô backupeando a mesma.

Se você quer transferir o sistema de uma partição para outra também dá, desde que o sistema de arquivos seja o mesmo (foi assim que testei), após copiar os arquivos você deverá na partição alvo, identificar a UUID da mesma, modificar o fstab dela inserindo a nova UUID, modificar o Grub (o que testei) ou o LILO, veja se lhe serve essa humilde explicação:

https://edpsblog.wordpress.com/2013/11/30/how-to-copia-de-instalacao-para-outra-particao/

-----------------------------------------------
Together we stand, divided we fall!
-----------------------------------------------






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts