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

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

[ Hits: 7.944 ]

 


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

Backup semanal/mensal/anual do PostgreSQL

Backup incremental com cp

Como fazer Backup com o Grsync [vídeo]

Backup incremental com rsync

Backup remoto + Backup automático para HD externo

  

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