How do I uninstall BackupWall?
Run bash uninstall.sh as root from the release folder. It keeps your master key, database and local backups unless you add --purge-data, and it never touches backups stored on S3, SFTP or other remote destinations.
Uninstall the server
Run from the release folder, as root:
bash uninstall.sh # asks first; keeps your key, database and local backups
bash uninstall.sh --yes # no question
bash uninstall.sh --purge-data # also deletes the key, the database and local backups
Use --help to see the options.
What it removes
- The six BackupWall services and the watchdog.
- The log rotation file and the command-line tools
bw-dr-restoreandbackupwall-support-bundle. /opt/backupwall,/var/log/backupwall, the nginx or Apache snippets it added, the firewall rule for the port, and thebackupwallsystem user.- The panel credentials the installer created: the WHM token, the DirectAdmin login key, or the Plesk key and MySQL user.
What it keeps
Before it deletes anything, it copies your settings file (which holds the master encryption key), the TLS certificate and key, and the database to /root/backupwall-backup-<time>/. It also keeps backup data stored under BackupWall's own folders (a local destination there, or /var/lib/backupwall/backups) unless you use --purge-data.
Backups on destinations elsewhere (S3, SFTP, another disk) are never touched.
Without the master key, encrypted backups cannot be read. Keep /root/backupwall-backup-<time>/ until you are sure you do not need the backups.
Remove the panel plugins
The server uninstaller does not remove the plugins. Run their uninstallers:
bash cpanel-plugin/cpanel/uninstall.sh
bash cpanel-plugin/whm/uninstall.sh # add --purge to also delete the plugin key
bash directadmin-plugin/uninstall.sh # restarts DirectAdmin
The plugin uninstallers do not delete the API key they created inside BackupWall. Delete it under Settings → API keys before you uninstall.
Changes left for you to undo
The uninstaller leaves a few shared changes for you to undo if you want to: the SELinux setting httpd_can_network_connect, ports 80 and 443 on servers with no panel, and the changes made to the nginx configuration there (the original is saved as /etc/nginx/nginx.conf.bak).
Moving to a new server
To move to a new server and keep your backups, use Disaster Recovery, not the saved folder. See Rebuild a server from a DR bundle.