Quero fazer um backup de um servidor em execução. Todos os arquivos de configuração e tudo mais sem desligá-lo.
Como posso fazer isso? Posso tentar copiar tudo? Porque tive problemas com o root
diretório.
Não quero fazer muitas experimentações também porque tem configurações importantes.
Estou tentando fazer tudo isso via ssh
. Como posso fazer esse backup?
Alguma ideia?
Responder1
Se você quiser fazer backup de todos os dados, você pode fazer login no servidor via ssh e simplesmente copiar todos os arquivos. Por exemplo, com scp
ou com rsync
.
Você pode até copiar tudo, incluindo arquivos do sistema operacional, se usar
rsync -zvr --exclude /dev/ / destination_computer_name_or_ip
-r: Recursivo
-v: detalhado
-z: Ativa a compactação
Observe que isso não copiará o registro de inicialização. Para fazer isso, você deseja copiar o disco inteiro e fazê-lo quando o disco não estiver montado. (Leia: Desligue a máquina que deseja totalmente_full_backup e inicialize a partir de um liveCD ou inicialize a partir de outra partição.)
Então use dd para ler toda a unidade.
Código de exemplo:
PC para armazenar o backup em:
nc -l 4242 | gunzip | cat > my_full_disk_backup_of_PC_named_foo
E no PC para fazer backup:
dd if=/dev/sda of=- bs=1M | gzip | nc -p 4242 name_of_the_destination
dd irá ler do disco. Todo o disco, incluindo setores de inicialização e setores vazios.
No exemplo, configuramos para o primeiro disco conforme indicado por sda. Ajuste para sdb para o segundo disco, sdc para um terceiro disco, etc.
Nós enviamos para std out, indicado pelo -
.
bs=1M define um tamanho de bloco. Você não precisa disso, mas sem isso haverá muitas leituras pequenas e uma sobrecarga enorme. Definir isso para algum valor maior que 512 bytes ou 4k irá acelerar as coisas.
Em seguida, canalizamos |
a saída através do gzip para compactá-la. Isso pressupõe que sua CPU será muito mais rápida que sua rede. Você pode pular o gzip na origem e o gunzip no destino; nesse caso, você enviará os dados brutos em vez dos dados compactados pela rede.
O último é nc
ou netcat. Ele aceita a entrada do canal anterior e a coloca na rede, em direção à porta 4242 em um computador chamadonome_do_destino.
No lado receptor fazemos o inverso:
Ouça via nc -l a entrada na porta 4242,
descompacte o gzip se necessário,
E finalmente grave-o em um arquivo.
Nota importante:
Você pode fazer isso durante a inicialização a partir do disco do qual está fazendo backup. Mas não há garantia de que o sistema de arquivos permanecerá o mesmo durante um backup. Portanto, tente fazer isso apenas se você puder inicializar com o disco somente leitura. (por exemplo, usando apenas um disco RAM)
Responder2
o que eu faria é muito parecido comHennes
eu criaria um arquivo iso, baixaria, colocaria em disco ou USB e carregaria uma cópia para o dropbox, apenas por precaução.
mkisofs -V LABEL -r DIRECTORY | gzip > backup.iso.gz
Meu amigo host no rackspace, ele me disse que os usuários do rackspace têm a opção de criar um arquivo iso automaticamente e, se estivessem migrando para um novo servidor, poderiam armazenar o backup antigo no antigo servidor em nuvem usando rsync
ou qualquer outra coisa e desligá-lo. , eles ainda pagam, mas é barato.
Não sei se sua hospedagem oferece um sistema de backup automatizado ou se você está pagando pelo suporte. vale a pena perguntar e talvez deixar que façam, se for a primeira vez.