How do I upgrade BackupWall by hand with install.sh?
Read UPGRADING.md in the new release folder, check the tarball's checksum, unpack it and run install.sh again with the same variables. Your settings, master key, database, jobs and admin user are kept. Upgrade when no backup is running.
Before you upgrade
- Read
UPGRADING.mdin the new release folder. It lists, build by build, the steps you must do by hand, what costs time or space once, and what to watch for if you go back. Read every section from the build after yours up to the build you install. Find your current build withcurl -s http://127.0.0.1:8087/api/v1/health/ready(thebuildfield) or Settings → Server → About. - Upgrade when no backup, restore or migration is running. The installer restarts every service. A running one is stopped and nothing starts it again by itself: a backup's point is marked failed ("Interrupted ...") and the job's next scheduled run, or Run now, takes over and reuses what was already uploaded. Start an interrupted restore or migration again yourself.
Upgrade
sha256sum -c backupwall-<version>-<build>.tar.gz.sha256
tar xzf backupwall-<version>-<build>.tar.gz
cd backupwall-<version>-<build>
bash install.sh 2>&1 | tee /root/backupwall-upgrade.log
Pass the same variables as the first time; variables are not remembered. Your licence key stays in /etc/backupwall/backupwall.env; add --license-key only to replace it. Then run the plugin installers again, only the ones you use:
bash cpanel-plugin/whm/install.sh
bash cpanel-plugin/cpanel/install.sh
bash directadmin-plugin/install.sh
Afterwards, check the version.
What the installer prints on an upgrade
Four lines differ from a first install, and they are expected:
Existing configuration found ... no new secrets are generatedandExisting configuration kept: /etc/backupwall/backupwall.env. Never delete that file on a server that has backups: it holds the master key.Existing database kept: /var/lib/backupwall/backupwall.db.Admin user already exists -- its password is unchanged(no password is printed).- A pointer to where
UPGRADING.mdis.
What is kept and what is replaced
- Kept: your settings file with the master key, the database with every job, destination and backup point, the admin user, the Redis password, the TLS certificate and working panel credentials. Database changes of the new release are applied when the API starts, after saving a copy as
backupwall.db.premigrate-<time>(the last five are kept). - Replaced: the code in
/opt/backupwall/appand/opt/backupwall/scripts, and the console. Files the new release removed or changed are saved to/opt/backupwall/.upgrade-backup-<time>(the last five are kept).
The in-console route
A licensed server on build v277 or later can instead update from Settings → Software updates. That route does not change install.sh, the panel plugins or Python packages; for a release that does, use these steps. See How updates work.