Mantenha sua casa segura com backups de Cron

Mantenha sua casa segura com backups de Cron

Objetivo

Crie um script de backup que faça backup regularmente de arquivos importantes do seu /lar diretório.

Distribuições

Isso funcionará com qualquer distribuição Linux.

Requisitos

Uma instalação do Linux Working com acesso raiz.

Dificuldade

Fácil

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
  • $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Introdução

Claro, existem utilitários de backup para o Linux, mas com alguns scripts, você pode manter seus arquivos importantes apoiados regularmente com pouco ou nenhum esforço.

A muito O script simples do Bash fará a maior parte do trabalho. Para o resto, você aproveitará o sistema Cron já em seu computador.

Crie o script

Você já deve ter adivinhado, mas o script que você estará escrevendo alcatrão. alcatrão Compactará seus arquivos em um formato mais gerenciável e de economia de espaço.

Comece criando o script. Você pode colocá -lo em qualquer lugar, então seu /lar Diretório vai se sair bem.

$ vim home-backup.sh
#! /BIN/BASH # # Script de backup de diretório doméstico # 

Agora, você pode começar a construir o próprio script. Provavelmente, você não quer fazer backup tudo no diretório. Provavelmente há muito lá, e fazer backup de coisas como jogos geralmente não é o melhor uso dos recursos do sistema.

Certamente, você pode, e nesse caso, ignorar todo o processo de seleção de diretórios e apenas usar /casa/usuário.

Então, crie um alcatrão linha que comprime os principais diretórios em seu /lar.

Tar -cjpf/mídia/backup/home-backup-'date +%d-%m-%y '.alcatrão.xz/home/user/documentos, downloads, fotos, música,.Config,.Xresources,.xinitrc,.i3,.Mozilla,.zshrc 

Com apenas essa linha, seu computador criará um alcatrão Arquivo em /mídia/backup em um arquivo chamado zagueiro com a data atual marcada em. Vai adicionar xz Compressão e preservação da estrutura e permissões da pasta também.

Backups incrementais

Embora isso seja bom, pode ser melhor. alcatrão oferece backups incrementais. Os backups incrementais farão um backup enorme pela primeira vez e detectará as mudanças de backup para cada execução subsequente em um arquivo menor separado. Dessa forma, seu computador economiza tempo e espaço ao não fazer backup das mesmas coisas repetidamente.

É assim que esse mesmo comando parece correr de forma incremental.

alcatrão-incremental listado =/mídia/backup/instantâneo.Arquivo -cjpf/mídia/backup/home-backup-'date +%d-%m-%y '.alcatrão.xz/home/user/documentos, downloads, fotos, música,.Config,.Xresources,.xinitrc,.i3,.Mozilla,.zshrc 

O backup incremental precisa de um arquivo instantâneo para rastrear arquivos e alterações. Provavelmente é uma boa ideia mantê -lo no mesmo diretório que os backups.

Adicione -o a Crontab

Até agora, você deve ter um script que se pareça com isso.

#! /bin/bash # # script de backup de diretório doméstico # tar-listado e- encremental =/mídia/backup/snapshot.Arquivo -cjpf/mídia/backup/home-backup-'date +%d-%m-%y '.alcatrão.xz/home/user/documentos, downloads, fotos, música,.Config,.Xresources,.xinitrc,.i3,.Mozilla,.zshrc 

Certifique -se de fazer o script executável.

$ chmod +x/home/usuário/home-backup.sh

Se você estiver feliz com isso, pode passar a criar o Crontabcomando linux como root.

# Crontab -u Nome de usuário -e 

Um editor (provavelmente nano) abrirá para você adicionar sua linha. Quando você terminar, será algo assim.

0 3 * * */home/usuário/home-backup.sh 

Tempo

Tudo bem, o que provavelmente está confundindo você são os números e asteriscos no início da linha. Eles determinam o tempo.

O primeiro dígito controla segundos. O segundo é horas. Os próximos dois são dias e meses. O último é o dia da semana (1-7). Se o local for ocupado por um asterisco, o script será executado sempre.

Um número significa que o script será executado naquele momento. Para usar o exemplo anterior, isso executará o script às 3 da manhã todos os dias. Se você quisesse executá -lo às 3:30 da manhã toda vez, ficaria assim.

30 3 * * */home/usuário/home-backup.sh 

Quando você tem um tempo que funciona para você, salve e saia. O script será executado automaticamente no momento em que você especificou a partir de agora.

Pensamentos finais

Obviamente, você pode obter camadas de complexidade adicionais aqui, incluindo diretórios e/ou diretórios criptografados. Você pode optar por economizar vários dias de backups e excluir os mais antigos automaticamente também. Claro, seria uma boa ideia incluir um backup para uma unidade remota ou em rede também.

Pode ser uma boa ideia escrever um script que usa alcatrão --concatenar sinalize para mesclar os arquivos de vez em quando. Caso contrário, você terá muitos arquivos com muito poucos arquivos.

Como este é um método com script, você é realmente limitado apenas pela sua capacidade de script com o Bash.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Download do Linux
  • Como criar um trabalho Cron em Kubernetes
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Melhor distro Linux para desenvolvedores
  • Linux pode obter vírus? Explorando a vulnerabilidade do Linux…
  • Arquivos de configuração do Linux: os 30 primeiros mais importantes