Jak zrobić kopię zapasową lokalnego katalogu na zdalny serwer w systemie Linux

O Linux é o sistema operacional mais flexível disponível no mercado. Com esta plataforma de código aberto, você pode fazer muito mais do que com um sistema operacional de software proprietário, sem gastar dinheiro em licenças.

Se você está começando com o Linux, provavelmente deve evitar usar a linha de comando porque ela pode ser um pouco intimidadora. No entanto, à medida que você desenvolve suas habilidades, vai querer aproveitar todo o poder e flexibilidade que este sistema oferece. Uma tarefa muito útil que você pode realizar é criar backups de um diretório local em um servidor remoto usando o comando rsync. Veja como fazer isso.

Comece instalando o programa rsync usando o seguinte comando:

sudo apt-get install rsync -y

Em seguida, configure o rsync no servidor remoto. Para isso, crie um novo arquivo de configuração digitando o comando:

sudo nano /etc/rsyncd.conf

Cole o seguinte conteúdo neste arquivo:

[suporte]
caminho=DIRETÓRIO_REMOTO
hosts allow = ENDEREÇO_IP_LOCAL
hosts deny = *
list = true
uid = root
gid = root
read only = false

Observe que DIRETÓRIO_REMOTO é o nome do diretório no servidor remoto que irá armazenar os backups, e ENDEREÇO_IP_LOCAL é o endereço IP do computador local.

Após salvar e fechar o arquivo, configure e inicie o rsync usando o seguinte comando:

sudo systemctl enable –now rsync

Agora, teste o processo de backup. No computador local, execute o comando rsync:

rsync -avz DIRETÓRIO_LOCAL ENDEREÇO_IP_SERVIDOR_REMOTO::suporte

Onde DIRETÓRIO_LOCAL é o diretório que você deseja copiar, e ENDEREÇO_IP_SERVIDOR_REMOTO é o endereço IP do servidor remoto. Lembre-se de especificar o nome do backup (::suporte) que você usou no arquivo de configuração no servidor remoto.

Automatize o processo de backup. Com a ferramenta cron integrada, você pode fazer isso facilmente, criando um script bash para o backup. Crie um arquivo chamado rsync.sh e insira o mesmo comando que você usou anteriormente, adicionando a opção q para silenciar a saída:

rsync -avzq DIRETÓRIO_LOCAL ENDEREÇO_IP_SERVIDOR_REMOTO::suporte

Salve e feche o arquivo. Dê permissões para executar o script usando o comando:

chmod u+x rsync.sh

Em seguida, crie um job no cron com o comando:

sudo crontab -e

Cole o seguinte conteúdo no arquivo:

00 01 * * * /home/USUÁRIO/rsync.sh

Observação: Substitua USUÁRIO pelo seu nome de usuário. Salve e feche o arquivo.

Agora, seu novo job no cron será executado diariamente às 01:00, garantindo que você tenha um backup atualizado deste diretório.

Como você pode ver, criar um backup básico em um servidor remoto no Linux é bastante simples.

P&R:
1. Por que vale a pena usar o Linux?
O Linux é o sistema operacional mais flexível disponível no mercado. Ele oferece mais possibilidades do que os sistemas operacionais de software proprietário, sem a necessidade de gastar dinheiro com licenças.

2. Como instalar o programa rsync?
Para instalar o programa rsync, use o comando sudo apt-get install rsync -y.

3. Como configurar o rsync em um servidor remoto?
Para configurar o rsync em um servidor remoto, crie um novo arquivo de configuração usando o comando sudo nano /etc/rsyncd.conf. Em seguida, cole o conteúdo apropriado no arquivo.

4. Como criar um backup em um servidor remoto usando rsync?
Para criar um backup em um servidor remoto usando rsync, execute o comando rsync no computador local usando rsync -avz DIRETÓRIO_LOCAL ENDEREÇO_IP_SERVIDOR_REMOTO::suporte.

5. Como automatizar o processo de backup em um servidor remoto?
Para automatizar o processo de backup em um servidor remoto, você pode usar a ferramenta cron. Crie um script bash para o backup e, em seguida, crie um job no cron que executará este script em um horário especificado.

Definições:
Linux: Um sistema operacional de código aberto que oferece maior flexibilidade do que os sistemas operacionais de software proprietário.
rsync: Um programa usado para sincronização de arquivos e backup.
configuração: O processo de definir determinados parâmetros ou opções para especificar o comportamento de um programa ou sistema.
backup: Uma cópia de dados criada com o objetivo de recuperá-la em caso de perda dos dados originais.
script bash: Um script escrito na linguagem Bash que executa tarefas ou operações específicas.
ferramenta cron: Uma ferramenta no Linux usada para agendar e executar tarefas específicas em horários específicos.

Links:
linux.org – Página inicial do Linux.org
rsync.samba.org – Site oficial do programa rsync