- Urbackup Server And Client
- Server Install
- Install a Web Proxy Frontend
- Server Firewall Rules
- Client Install
- Client Firewall Rules
- Client Uninstall
- Urbackup Administration
- How to Install UrBackup [Server/Client] Backup System in Ubuntu
- Testing Environment Setup
- Installing Urbackup Server on Ubuntu 20.04
- Step 2: Create Admin User on Urbackup Server
- Step 3: Add a New Backup Client in Urbackup
- Step 4: Configure Client Backups on Urbackup
Urbackup Server And Client
Installing and configuring Urbackup server and client.
“UrBackup is an easy to setup Open Source client/server backup system, that through a combination of image and file backups accomplishes both data safety and a fast restoration time.”
Server Install
Installing the Urbackup Server
wget https://download.opensuse.org/repositories/home:uroni/CentOS_7/home:uroni.repo -O /etc/yum.repos.d/urbackup-server.repo
yum install urbackup-server
systemctl enable urbackup-server systemctl start urbackup-server
Install a Web Proxy Frontend
Installing a Nginx web proxy frontend.
vim /etc/nginx/conf.d/urbackup.conf server { server_name NAME.DOMAIN; # Redirect all requests to https return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name NAME.DOMAIN; # SSL Cert and Key ssl_certificate ssl/NAME.DOMAIN.crt; ssl_certificate_key ssl/NAME.DOMAIN.key; # SSL Protocols, Ciphers ssl_protocols TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # HSTS header add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; location / { proxy_pass http://localhost:55414/; } }
systemctl enable nginx systemctl start nginx
Server Firewall Rules
Port | Protocol | In/Out | Description |
---|---|---|---|
55413 | tcp | Incoming | FastCG for web interface (needed if no web proxy) |
55414 | tcp | Incoming | HTTP web interface (needed if no web proxy) |
55415 | tcp | Incoming | Internet clients connect for backups |
35623 | udp | Outgoing | Broadcast for client discovery |
35623 | tcp | Incoming | Broadcast for client discovery (maybe needed?) |
443 | tcp | Incoming | HTTPS Web Proxy (if used) |
80 | tcp | Incoming | HTTP Web Proxy (if used) |
Optional — Needed if not using web proxy
firewall-cmd --add-port=55413/tcp --permanent firewall-cmd --add-port=55414/tcp --permanent
Optional — Support client backups over the internet
firewall-cmd --add-port=55415/tcp --permanent
firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent
Needed? — Incoming client discovery
firewall-cmd --add-port=35622/udp --permanent
I had trouble with client discovery until I added this to the server side incoming firewall rules. (even though the documentation says this is outgoing only on the server side)
firewall-cmd --reload firewall-cmd --list-all
Client Install
Installing the Urbackup client.
Using a snapshot method, a block snapshot is made of your data and that is used for the backup. (This is typically more reliable than a straight up file copy operation)
Bad: Snapshots require free space in the same volume group as the logical volume being backed up, equal to the used size. (snapshots removed after backup completes)
Bad: Since it is essentially a rsync, if files are modified during backup, there could be inconsistencies.
systemctl enable urbackupclientbackend systemctl start urbackupclientbackend
Client Firewall Rules
Port | Protocol | In/Out | Description |
---|---|---|---|
35621 | tcp | Incoming | Transfers during file backups |
35622 | udp | Incoming | Broadcasts for discovery |
35623 | tcp | Incoming | Server commands and image backups |
firewall-cmd --add-port=35621/tcp --permanent firewall-cmd --add-port=35622/udp --permanent firewall-cmd --add-port=35623/tcp --permanent
firewall-cmd --reload firewall-cmd --list-all
Client Uninstall
/usr/local/sbin/uninstall_urbackupclient
Urbackup Administration
Administrative tasks for Urbackup server and clients.
How to Install UrBackup [Server/Client] Backup System in Ubuntu
Backups are an integral part of any operating system. They ensure that critical copies of data are always available in the unfortunate event that the system crashes or something goes wrong.
Urbackup is an efficient and easy-to-use Client-Server backup system for Linux and Windows Systems. It’s a fast and reliable Linux backup tool that provides a web interface that allows you to add clients whose files and directories need to be backed up.
Urbackup employs deduplication to store backups on either Windows or Linux servers. Backups are created quietly without interrupting other running processes in the system. Once backed up, files can be restored through a web interface while drive volumes can be restored with a bootable USB-Stick.
In this guide, we walk you through how to install Urbackup and perform a backup on Ubuntu-based distributions.
Testing Environment Setup
To illustrate Urbackup in action, we are going to have a setup of two nodes as you can see below.
- Urbackup Server (Ubuntu 20.04) with IP 192.168.2.104
- Client System (Linux Mint 20.03) with IP 192.168.2.105
Installing Urbackup Server on Ubuntu 20.04
The first step is to install Urbackup on the server. So, log into the server and refresh the repositories.
Next, install the following dependencies that will be required along the way during the installation.
$ sudo apt install curl gnupg2 software-properties-common -y
The urbackup server is not provided by default on Ubuntu repositories. As such, we are going to install it from the PPA provided by the developer.
$ sudo add-apt-repository ppa:uroni/urbackup
Once the PPA is added to the system, refresh the repositories once more and install the urbackup server.
$ sudo apt update $ sudo apt install urbackup-server -y
Along the way, you will be required to provide a path where your backups will be saved. A default path will be provided for at /media/BACKUP/urbackup. This works just fine, and you can as well specify your own path. In this case, we will go with the default path and press the TAB key and hit ENTER.
Once installed, the Urbackup service starts automatically. You can confirm this run by running the following command.
$ sudo systemctl status urbackupsrv
The output above shows that the service is up and running. You can also enable it to start on system startup as follows.
$ sudo systemctl enable urbackupsrv
The Urbackup server listens on ports 55414 and 55413. You can confirm this using the ss commands:
$ ss -antpl | grep 55414 $ ss -antpl | grep 55413
You can now access the Urbackup web UI by browsing your server’s IP address.
Step 2: Create Admin User on Urbackup Server
Urbackup has successfully been installed, but it is accessible to everyone since there’s no authentication required. In this step, we will create an administrative user in order to provide authentication.
On the WebUI, click on Settings –> Create User.
Provide the username and password and click ‘Create’ to add the user.
Thereafter, the user will be listed on the dashboard as shown.
Step 3: Add a New Backup Client in Urbackup
After successfully installing the UrBackup server, the next item on the list is to add a client whose files and directories will be backed up on the server.
To do this, click the ‘Add New Client‘ button.
On the page that appears, click ‘Add new internet/active client‘ and provide your preferred name for the client. Then provide the IP address of the client system and click ‘Add Client‘.
A command to be executed on the remote client system will be displayed as shown.
So, head over to the client system and execute the command. In this case, we are running the command on the Linux Mint system which is our client system.
Running the command starts the Urbackup client service. You can verify its status as shown.
$ sudo systemctl status urbackupclientbackend
Step 4: Configure Client Backups on Urbackup
The next step is to configure backups. On the client system, we are going to back up the home directory by running the following command. Feel free to provide your own preferred directory.
# /usr/local/bin/urbackupclientctl add-backupdir -x -f -d /home
Now head back to your Urbackup server and you will notice that the client system has been listed as online. You can now run the backup manually otherwise, the backup will run as per the default schedule.
Soon after that, you will get an ‘Ok’ status showing that the backup was complete.
To confirm that the backup was created, click the ‘Activities’ tab and you will see details of the backup.
Alternatively, you can click ‘Backups‘ to see details of the file backup.
In this tutorial, we have installed and configured Urbackup on Ubuntu-based distributions and installed a client service to our client machine whose home directory we backed up.
Visit the Urbackup documentation page for more information about the Ubackup utility.