4. Backing up the WAPT Server

To backup your WAPT Server follow this procedure. Regular backups are recommended.

Before starting the migration of the WAPT server, it is highly recommended to perform a thorough cleanup of the repository. This will facilitate the migration by reducing the amount of data to be transferred, speeding up the process, and minimizing the risks of corruption or errors.

Cleanup Steps of packages in the waptconsole:

1- Package Identification:

Review all packages present in the repository. Identify packages that have multiple versions, such as Firefox and others.

Hint

In the WAPT Package tab you can select all packages, and do a right-click Select obsolete packages. Use with caution and at your own risk.

2- Keeping Current Versions:

For each package with multiple versions, keep only the version currently in production. Remove old versions and unused versions.

3- Comprehensive Verification:

Ensure this operation is performed for all packages in the repository. Verify that the retained versions are indeed those used in production.

4.1. Linux

  • Stop WAPT related services on the WAPT Server.

systemctl stop wapttasks
systemctl stop waptserver-uwsgi (if used)
systemctl stop waptserver
systemctl stop nginx
  • Backup recursively these directories using a backup tool (ex: rsync, WInSCP, etc..).

/var/www/wapt/
/var/www/wapt-host/
/var/www/waptwua/
/var/www/wads/
/opt/wapt/conf/
/opt/wapt/waptserver/ssl/
/var/www/*.json
/var/www/html/wapt/
/var/www/html/wapt-host/
/var/www/html/waptwua/
/var/www/html/wads/
/opt/wapt/conf/
/opt/wapt/waptserver/ssl/
/var/www/html/*.json

Hint

If you use Kerberos to authenticate hosts and users, save the keytab file too. The keytab file is located in the nginx folder.

/etc/nginx/http-krb5.keytab

/etc/nginx/http-krb5.keytab

  • Backup the PostgreSQL database using the pg_dumpall utility (adapt filename with your requirements).

sudo -u postgres pg_dumpall > /tmp/backup_wapt.sql
  • Restart WAPT related services on the WAPT Server.

systemctl start wapttasks
systemctl start waptserver
systemctl start nginx

4.2. Windows

  • Calculate the amount of data to migrate

To determine the data size, navigate to the following directory: C:\wapt\waptserver\repository.

Then, check the folder size by: Right-clicking the repository folder, Selecting Properties, and Viewing the Size field.

Alternatively, you can use the following script to retrieve the size programmatically.

Powershell script :
# Directory paths
$waptPath = "C:\wapt\waptserver\repository\wapt"
$wadsPath = "C:\wapt\waptserver\repository\wads"
$wuaPath = "C:\wapt\waptserver\repository\waptwua"
$wapthostPath = "C:\wapt\waptserver\repository\wapt-host"

# Function to calculate the size of a directory
function Get-DirectorySize {
    param (
        [string]$path
    )
    $size = (Get-ChildItem $path -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum
    return $size
}

# Calculate sizes for each directory
$waptSize = Get-DirectorySize -path $waptPath
$wadsSize = Get-DirectorySize -path $wadsPath
$wuaSize = Get-DirectorySize -path $wuaPath
$wapthostSize = Get-DirectorySize -path $wapthostPath

# Convert to GB and display
$waptGB = [math]::Round($waptSize / 1GB, 2)
$wadsGB = [math]::Round($wadsSize / 1GB, 2)
$wuaGB = [math]::Round($wuaSize / 1GB, 2)
$wapthostGB = [math]::Round($wapthostSize / 1GB, 2)

Write-Output "Size of $waptPath : $waptSize octets ($waptGB GB)"
Write-Output "Size of $wadsPath : $wadsSize octets ($wadsGB GB)"
Write-Output "Size of $wuaPath : $wuaSize octets ($wuaGB GB)"
Write-Output "Size of $wapthostPath : $wapthostSize octets ($wapthostGB GB)"

# Combined total
$totalSize = $waptSize + $wadsSize + $wuaSize + $wapthostSize
$totalGB = [math]::Round($totalSize / 1GB, 2)
Write-Output "Total size to migrate: $totalSize bytes ($totalGB GB)"
  • Stop WAPT related services on the WAPT Server.

net stop WAPTServer
net stop WAPTService
net stop WAPTTftpServer
  • Backup the WAPT repository folder on a remote backup destination.

C:\wapt\conf
C:\wapt\waptserver\repository\wapt
C:\wapt\waptserver\repository\wapt-host
C:\wapt\waptserver\repository\waptwua
C:\wapt\waptserver\repository\wads
C:\wapt\waptserver\nginx\ssl
  • Backup PostgreSQL Database with pg_dump.exe.

Note

The commands may require adaptation. For example, if your repository is located at “C:\wapt\waptserver\pgsql-15”, your PostgreSQL database is version 15.

Always verify the version of PostgreSQL installed on your system before proceeding.

"C:\wapt\waptserver\pgsql-15\bin\pg_dumpall.exe" -U postgres -f C:\backup_wapt.sql
  • Restart WAPT related services on the WAPT Server.

net start WAPTPostgresql
net start WAPTServer
net start WAPTService
net start WAPTTftpServer