Estou fazendo backup de um servidor Linux e armazenando-o em outro servidor.
Comecei com um simples
rsync -aPh --del server.example.com:/ /mnt/backup
Então alguém apontou que eu não deveria fazer backup /proc
, pois você não deseja restaurar o /proc
servidor de um servidor em outro.
Há algo mais que eu deva / não inclua?
Por exemplo, o que dizer /sys
?
/boot
completamente - talvez seja necessário comparar a configuração de inicialização antiga com a nova. Apenas certifique-se de não restaurar,/boot
exceto manualmente.Ambos
/proc
e/sys
são sistemas de arquivos virtuais que refletem o estado do sistema, e permitem alterar vários parâmetros de tempo de execução (e às vezes fazer coisas mais perigosas, como escrever diretamente para a memória ou para um dispositivo). Você nunca deve fazer backup ou restaurá-los.Na maioria das distribuições modernas,
/dev
é criado dinamicamente na inicialização (é um sistema de arquivos de memória preenchido porudev
e amigos). Não há motivo para fazer backup e tentar recuperá-lo é inútil. No entanto, se sua distribuição estiver configurada para usar uma estática/dev
, isso não se aplicará (verifique/proc/mounts
se/dev
é umtmpfs
sistema de arquivos de memória).Existem outros sistemas de arquivos que você não deve fazer backup;
usbfs
(geralmente em/proc/bus/usb
, se montado em tudo),debugfs
(supostamente em/sys/kernel/debug
caso de montagem em tudo, mas algumas pessoas colocá-lo em outro lugar, você provavelmente não tem este),devpts
(montado na/dev/pts
), outrostmpfs
casos (frequentemente encontrada em/dev/shm
,/var/run
,/var/lock
e outros locais; fazer backup e restaurá-los deve ser inofensivo, mas inútil, pois seu conteúdo é perdido no desligamento) e quaisquer sistemas de arquivos remotos ou diretórios mágicos de montadores automáticos (tentar fazer backup ou restaurá-los pode acabar em desastre, como você pode acabar fazendo backup / restaurando em uma máquina diferente ). Você também deve ter cuidado com/media
e/mnt
, pois os dispositivos externos (como um CD que você esqueceu na unidade) podem ser encontrados lá, mas você também pode usá-los de propósito para montar algo que deve ser copiado.Note-se que, com excepção principalmente inofensivos
tmpfs
casos, sistemas de arquivos de rede / automounters e mídia removível, os sistemas de arquivos que você não deve back-up são todos descendentes de/dev
,/proc
ou/sys
. Se você não tem sistemas de arquivos de rede (ou automounters), e há uma mídia removível, excluindo/sys
e/proc
e reiniciar após uma restauração (para limpar astmpfs
instâncias) deve ser suficiente.fonte
Veja The Tao Of Backup , capítulo 1.
fonte
Alguns dos arquivos especiais em / proc e / sys confundem o rsync. Você também não deseja fazer backup de sistemas de arquivos de rede montados. Arquivos esparsos também podem causar problemas.
Adicione -x para limitá-lo a um sistema de arquivos. Isso evita todos os sistemas de arquivos de rede e / proc etc. No entanto, é necessário executar um rsync para cada sistema de arquivos que você montou.
Adicione -S para lidar com arquivos esparsos de maneira sensata.
fonte
/ boot, / dev e / proc são bastante inúteis para fazer backup - no entanto, se você souber o que está fazendo, poderá fazer backup / boot.
Eu também não faria backup / lib, / media, / mnt, / sbin, / bin, / srv, / sys ou / tmp.
/ usr é opcional, dependendo de você ter algo em / usr que valha o backup. Se eu fosse você, eu me preocuparia mais com o backup de $ HOMEs, / var e / etc do usuário (para arquivos de configuração).
Novamente, porém, isso realmente depende do tipo de backup que você deseja fazer. Este é um servidor web? Este é um computador pessoal? Este é um servidor shell com vários diretórios em / home?
fonte
rsync
você, não apenas copie apenas o que você usou, mas também habilite a sincronização futura, para que você possa executar com segurança um trabalho cron.Você pode obter um backup total usando sfdisk e dd.
Para fazer backup do esquema de partição de cada disco rígido, você usaria o sfdisk assim:
Para fazer backup de cada partição, você pode usar o dd, da seguinte maneira:
Onde
/dev/sda1
está desmontado, como na inicialização de um CD ao vivo.(lembre-se de que você precisará ter muito espaço livre para gravar esse arquivo; portanto, você pode gravá-lo em uma mídia externa). Faça isso para cada partição, uma de cada vez, e faça backup de tudo.
Em seguida, para restaurar em outro computador, você pode:
fonte
dd if=/dev/urandom of=/dev/sdb bs=512 count=12
limpar o MBR e a tabela de partição da unidade de destino.Em vez de excluir, geralmente faço backup apenas do que quero. Incluindo:
/home
/etc
/var
(exceto/var/log
)fonte
Basicamente, os pseudo-sistemas de arquivos (/ proc, / sys, / dev / shm ...) não precisam ser copiados.
fonte
Como apontado por esta grande comunidade:
/ dev / proc / sys / tmp / run / media / lost + found / boot (/ boot é opcional, veja outros comentários)
Para referência, meu comando rsync final (em Arch com mídia externa montada em '/ run / media / fred / INTENSO /' e fazendo backup em uma pasta chamada 'fred') é:
$ sudo rsync -Pazhmxv --exclude / run / media --exclude / dev --exclude / lost + found --exclude / tmp --exclude / proc --exclude / boot --exclude / sys / / run / media / / INTENSO / fred /.
(os arquivos excluídos também podem ser especificados com colchetes (--exclude = {/ dev, / proc}) em Bash ou com um arquivo de texto (--exclude-from = 'excude.txt')).
-P: mostre o progresso -a: modo de arquivamento -z: comprima durante a transferência -h: imprima números em um formato legível por humanos -m: remova diretórios vazios -x: limite para um sistema de arquivos -v: detalhado
fonte
Estou em uma máquina Ubuntu 18.04 e tenho estes excluídos:
Além disso, especificamente para minha configuração, excluo estes:
fonte
Geralmente, tenho o hábito de fazer backup de tudo em um sistema, mesmo o que eu sei com certeza é inútil. É mais simples de configurar e você pode ter 100% de certeza de que vai incluir tudo o que precisa no backup.
fonte
/proc
e/dev
não confundir o pobrezinhorsync
.Estou usando uma caixa Linux linux como servidor de teste para desenvolvimento de sites e para hospedar um wiki de documentação. Toda noite, um crontab despeja o banco de dados MySQL em / var / www e, em seguida, todos os / var / www são compactados e replicados no servidor de backup. Não é o ideal, mas é o suficiente. Eu tive que reconstruir o servidor em um ponto e tudo o que realmente senti falta eram os arquivos de configuração do Apache e Samba.
fonte
Eu diria que você não tem Linux em uma máquina virtual. Se possível, eu recomendaria a possibilidade de mudar para a virtualização. Os backups no nível vm são um nível totalmente novo de consistência e facilidade de uso. Existem ferramentas de virtualização gratuitas, portanto você não precisa necessariamente investir no VmWare ou em outra ferramenta monstro cara.
fonte
Pergunta: Quais diretórios devo excluir ao fazer backup de um servidor?
Aqui está um script que eu uso com frequência, de um laptop Ubuntu 16.04 LTS a um servidor Ubuntu 16.04 LTS. Ele mostra claramente quais diretórios devem ser ignorados ao fazer um backup completo:
Observe a exclusão de
/mnt
- que é onde cada sistema Ubuntu possui uma unidade de backup em tempo integral montada pararsync
auto-backups baseados em cron 4 vezes por dia. Essas unidades são montadas por entradasfstab
e estão sempre presentes. Incluí-los em um backup para outro sistema seria duplicado.Da mesma forma,
/media
é onde as unidades USB são montadas. Eles são copiados separadamente.fonte