Posso clonar um sistema de arquivos raiz de um servidor em execução via ssh?

Posso clonar um sistema de arquivos raiz de um servidor em execução via ssh?

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 rootdiretó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 scpou 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 é ncou 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 rsyncou 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.

informação relacionada