Instalação URBACKUP 2.1 Server no CentOS 7.x

Publicado por Hertz Raya Zocolan Silva em 11/07/2018

[ Hits: 8.856 ]

 


Instalação URBACKUP 2.1 Server no CentOS 7.x



Servidor de Backup (Licença GPL).

Os clientes rodam em ambientes Linux e Windows.

O UrBackup é um sistema de backup Client/Server, Open Source, que através de uma combinação de backups de imagens e arquivos realiza segurança de dados e um rápido tempo de restauração.
  1. Pré Requisitos de Software e Hardware
  2. Download do site oficial
  3. Compilação do código
  4. Configuração do URBACKUP Server
  5. Portas TCP utilizadas
  6. Linhas de comando para o servidor
  7. Clients disponiveis
  8. Jobs administrativos pela crontab
  9. Instalação URBACKUP Client

1. Pré Requisitos de Software e Hardware

Software:
  • Sistema Operacional: RedHat ou CentOS (nesse exemplo instamos um Centos 7 Minimal e pacotes foram adicionados conforme o procedimento a seguir na compilação)
  • Pacotes YUM : cryptopp-devel , libzstd-devel , redhat-lsb-core , automake-1.14 , Development Tools

Hardware:
  • 1 Gb RAM
  • Placa de rede dedicada
  • 108 Mb para os binários do Server
  • 44 Mb para os binários do Client Linux
  • 110 Mb para os binários do Client Windows
  • 3 Gb banco de dados
  • Espaço em disco para os backups

2. Download do Site Oficial

SHA1 (urbackup-server-2.2.11.tar.gz)= 96f3dc2f069ad46fa9ca2c7b0ab534842000ff82

# wget https://hndl.urbackup.org/Server/2.2.11/urbackup-server-2.2.11.tar.gz

3. Compilação do Código

Instalar repositório EPEL no RedHat / CentOS:

# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -ivh epel-release-latest-7.noarch.rpm


Pacotes necessários:

# yum -y groupinstall "Development Tools"
# yum -y install cryptopp-devel libzstd-devel redhat-lsb-core automake libcurl-devel zlib-devel telnet


Verificando a versão do automake 1.13:

# automake --version
automake (GNU automake) 1.13.4

Compilando o código:

# tar xvfz urbackup-server-2.2.11.tar.gz
# cd urbackup-server-2.2.11
# cat<<EOT>./compila.sh
#!/bin/bash
make clean ; autoreconf -f -i ; make distclean
./configure --prefix=/usr/local/urbackup-server-2.2.11
ERRO="\$?" ; if [ \$ERRO -gt 0 ] ; then echo -e "\nErro de compilacao no ./configure\n" ; exit 23 ; fi

make -j4
ERRO="\$?" ; if [ \$ERRO -gt 0 ] ; then echo -e "\nErro de compilacao no make -j4\n" ; exit 23 ; fi

make install
ERRO="\$?" ; if [ \$ERRO -gt 0 ] ; then echo -e "\nErro de compilacao no make install\n" ; exit 23 ; fi
echo -e "\nCompilacao feita com sucesso !\n"
echo -e "\nDiretorio: /usr/local/urbackup-server-2.2.11\n"
ls -l /usr/local/urbackup-server-2.2.11
echo ""
EOT

# chmod 754 compila.sh
# ./compila.sh
# echo $?


Após compilar execute:

# ln -s /usr/local/urbackup-server-2.2.11 /usr/local/urbackup
# cp urbackup-server.service /usr/local/urbackup-server-2.2.11/bin
# cp defaults_server /usr/local/urbackup-server-2.2.11/bin
# cp logrotate_urbackupsrv /usr/local/urbackup-server-2.2.11/bin
# ln -s /usr/local/urbackup-server-2.2.11/bin/urbackupsrv /usr/bin/urbackupsrv
# cp /usr/local/urbackup-server-2.2.11/bin/urbackup-server.service /etc/systemd/system/
# sed 's:/var/log:/var/log/urbackup:' /usr/local/urbackup/bin/defaults_server > /tmp/arq.tmp
# cat /tmp/arq.tmp > /usr/local/urbackup/bin/defaults_server ; yes | rm /tmp/arq.tmp
# chmod +x /etc/systemd/system/urbackup-server.service
# systemctl enable urbackup-server.service
# ln -s /usr/local/urbackup-server-2.2.11/bin/defaults_server /etc/default/urbackupsrv
# cp logrotate_urbackupsrv /etc/logrotate.d/urbackupsrv
# sed 's:/var/log:/var/log/urbackup:' /etc/logrotate.d/urbackupsrv > /tmp/arq.tmp
# cat /tmp/arq.tmp > /etc/logrotate.d/urbackupsrv ; yes | rm /tmp/arq.tmp
# systemctl start urbackup-server
# systemctl status urbackup-server
# ps -ef | grep urbackupsrv | grep -v grep


urbackup  6981     1  1 08:51 ?        00:00:00 /usr/bin/urbackupsrv run --config /etc/default/urbackupsrv --no-consoletime

Testando a porta do 55414 URBACKUP Server:

Obs.: o resultado deve ser 1.

# echo quit | telnet localhost 55414 2>/dev/null | grep -i character | wc -l
1

Diretórios importantes do URBACKUP Server:
  • Binários do Server: /usr/local/urbackup-server-2.2.11
  • Link Simbólico: /usr/local/urbackup-server
  • Diretório do Banco de Dados (sqlite3): /var/urbackup
  • Log do servidor: /var/log/urbackup/urbackup.log

Crie o diretório e na sequência dê permissões. Exemplo:

# mkdir -p /bkp/URBACKUP
# chmod -R 777 /bkp/URBACKUP


Adicionando Proxy no URBACKUP:

Edite o arquivo /etc/default/urbackupsrv e adicione ao final do arquivo as variáveis. Exemplo:

# vi /etc/default/urbackupsrv

...
export http_proxy="http://x.x.x.x:3128"
export https_proxy="http://x.x.x.x:3128"
export ftp_proxy="http://x.x.x.x:3128"
export no_proxy="127.0.0.0,192.168.0.0/16,172.16.0.0/16,10.0.0.0/8"

Limpando a senha para logar na URL pela primeira vez:

# sqlite3 /usr/local/urbackup/var/urbackup/backup_server_settings.db
sqlite> delete from si_permissions;
sqlite> delete from si_users;
sqlite> .quit

Desfragmentar base de dados do URBACKUP:

# cd /var/urbackup
# ls -lh backup_server.db

-rw-r--r--. 1 urbackup urbackup 50M Jun 7 00:00 backup_server.db

# sqlite3 backup_server.db
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> vacuum;
sqlite> .quit

# ls -lh backup_server.db
-rw-r--r--. 1 urbackup urbackup 520K Jun 13 07:54 backup_server.db

4. Configuração do URBACKUP Server

Entre na URL (exemplo): http://192.168.56.101:55414/

Entre no menu acima a direita "Conf".

Edite os campos em amarelo abaixo e ao final clique em "Salvar".

Clique no menu "Usuários".

Clique no botão "Criar usuário".

Adicione a senha e clique no botão "Criar".

Entre novamente na URL e coloque a senha do usuário "admin".

5. Portas TCP utilizadas

Portas para o servidor.

Portas do Client (All incoming).

6. Linhas de comando para o servidor

Remove cliente que foi marcado para remover pela página (now):

# /usr/local/urbackup/bin/urbackupsrv cleanup --amount 0%

Remove arquivos com status (unknow) no urbackup database:

# /usr/local/urbackup/bin/urbackupsrv remove-unknown

Limpeza de Backups:

Onde x é a porcentagem de espaço para liberar no armazenamento de backup ou o número de bytes / megabytes / gigabytes, por exemplo, “20G” ou “10%”. Se apenas apagar backups antigos, use “0%”.

# urbackupsrv cleanup --amount x

Montar imagem em formato VHD(Z):

# urbackupsrv mount-vhd --file /media/backup/urbackup/testclient/Image_C_140420-1956.vhdz --mountpoint /media/testclient_C

Montar varias imagens VHD em um único arquivo VHD:

# urbackupsrv -a /full/path/Image_C_XXXXX.vhdz -a /full/path/Image_SYSVOL_XXXXX.vhdz -o full_disk.vhd

7. Clients disponíveis:
  • Windows
  • Linux Binary (command line only; with auto-update)
  • MacOS
  • Arch Linux
  • Gentoo Linux
  • Client Source for Linux

8. Jobs administrativos pela crontab

Dois procedimentos necessitam serem executados:
  • Backup da base de dados (sqlite)
  • Limpeza dos backups na base e no diretório dos backups executados

Logar-se com o usuário root o procedimento abaixo:

Obs.: em anexo nesse arquivo estão os scripts para download (copiar esses scripts para o diretório: /usr/local/urbackup/bin).

Dentro do script de backup do sqlite contem o procedimento de restore do banco caso necessário.

urbackup_clean.sh
backup_sqlite_dbase_urbackup.sh

# cat<<EOT>./cron_job
#
# URBACKUP Server Jobs
#
0 0,12 * * * /usr/local/urbackup/bin/urbackup_clean.sh
30 0,12 * * * /usr/local/urbackup/bin/backup_sqlite_dbase_urbackup.sh
#
EOT
crontab ./cron_job
crontab -l
yes | rm ./cron_job

Artigos relacionados


Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

MEO Cloud - Como sincronizar arquivos fora da pasta local "MEOCloud"

Backup das configurações de rede wireless no Ubuntu

Remontar IBM Tivoli Storage

Como atualizar seu Linux Mint sem perder nada

Fazendo backup do MBR com dd (setor de boot)

  

Comentários
[1] Comentário enviado por removido em 08/08/2018 - 16:05h

Boa tarde Hertz Raya Zocolan Silva! Como fazer para configurar o diretório a ser realizado o backup cliente linux?
Grato



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts