USB-Backup - Encrypted Backup on external Storage

USB-Backup is a free Graphical user interface for creating encrypted backups to external media. It is distributed under the GPLv2-License.

For the compression and the backup format itself the proven and very good compressing Open Source Software 7-Zip is used.

The assurance is based on the so-called differential backup. In this method, the first backup is a "full backup" of the desired data is then updated only by updates. This way, only the first backup is time consuming and each additional update goes quite quickly. Furthermore, one can quickly restore all the data again in case of emergency.

  • local disks, such as the system disk C: can be backed up by using shadow copies, but this requires administrator privileges
  • the use of the program is user-friendly and has been developed in cooperation with users
  • Network drives can also be backed up
  • Installation:
    • the program does not require installation - so it is also admin-friendly ;)
    • I put it mostly in the Startup folder of the corresponding user and thats it
    • the configuration can be found in this folder: %APPDATA%\USB-Backup
    • diverting temporary data will be stored in this folder: %TEMP%\USB-Backup_%TEMPID%
  • Security:
    • during the initial backup, a password is set - without a password, you can not back up!
    • when the external disk will be lost, a stranger can not really see what was backed up
    • only username@pc are stored plaintext, but this is used to distinguish the backups in case of emergency
    • an encrypted index is stored on the external disk, so that a restore at any time and on any computer is possible
  • to each directory, you can create exception lists that are then passed to 7-Zip
  • after a setable time, USB-Backup reminds the user to update the existing backup
  • the degree of compression and other 7-Zip parameters can be completely adapted to the USB Backup.ini
  • Automatic updates of program and help file are possible, but you can disable this also
  • the help file is currently not finished... but will come later...



- add support for USB Attached SCSI (UAS) devices
- update of 7-Zip DLL, supported methods are:
  - Brotli v1.0.7
  - Fast LZMA2 v1.0.0
  - Lizard v1.0
  - LZ4 v1.8.3
  - LZ5 v1.5
  - Zstandard v1.3.8
  - and these: Deflate, Deflate64, Bzip2, PPMD, LZMA, LZMA2
- fix again problems with opening the Index file
- generate only one backup of Index, delete all other
- update of 7-Zip dll, supported methods are:
  - Brotli v.1.0.1
  - Lizard v1.0
  - LZ4 v1.8.0
  - LZ5 v1.5
  - Zstandard v1.3.2
  - and these: Deflate, Deflate64, Bzip2, PPMD, LZMA, LZMA2
- fix problems with german umlaut characters (äöü)
- generate backups of old index files
- update of 7-Zip dll
  - ZStandard Version 1.1.4
  - LZ4 Version 1.7.5
  - LZ5 Version 1.5
- update of 7z.dll
  - additional support of zstd v1.1.3 and lz4 v1.7.5
- binaries are not compressed with upx or mpress
- only one binary with support for 32bit and 64bit (VSS, 7-Zip)
- update of 7z.dll to zstd v0.7.2
- added small fix for correct background in the fflabels
- update of 7z.dll to version 16.02
- update of 7z.dll to version 16.00
- made the code compatible with autoit v3.3.14.2 (some array stuff changed)
- writing the Index didn't work correctly some times, fixed now!
- exclamation mark icon in taskbar, if the backup is to old
- improved english translation
- ZStandard is the default compressing mode now
- the default value for the complete backups was increased to one year
- fix: the code signing of USB-Backup was not okay :/
- I need to write the help file... :(
- update of 7z.dll to version 15.14
- this 7z.dll has ZStd support now ;)
- fix: the ini value ShowUpdateHint was not saved/restored correctly
- update of 7z.dll to version 15.06
- new work around for the "wait for nothing loop", problem is solved now!
- the default 7za.dll of 7-Zip can't compress with bzip2 or deflate
- I compiled a new 7za.dll with support for bzip2 and deflate and also
  optimized for speed via /Ox and /Ot 
- the 7zg-mini.exe is also optimzed for speed now
- F1 while displaying the Status of Backup didn't work, this is fixed
- use 7za.dll instead of the 7z.dll (we are using only 7zip archives...)
- update of 7-Zip to Version 15.05
- GetOldestBackup() didn't search for the oldest TimeStamp .. now it does!
- removed registry hack for empty admin passwords, this is bad design...
- use _WinAPI_SendMessageTimeout() instead of ControlClick() - this seems
  to fix the "wait for nothing loop" - which "sometimes" occurred
- status page will show the date/time of the last backup
- the english translation is complete now
- fixed some spelling errors in german and english translation
- change the current windows power plan for disabling pm features
- improved handling of usb stick events, will just work now ;)
- ShowStatusMessage=1 -> give status of backup via MsgBox()
- new variables for executing commands before / after backup:
  - RunBeforeCmd: run script before backup, usb-backup will wait until script
    is finished
  - RunAfterCmd: run script directly after backup, usb-backup will wait for it
- fixed bug for the comments in the exclude files
- fixed update for x64 (new restart code)
- added "-ssc" to the default 7zip options, so folders/files on network
  drives get archied correctly
- added internationalization, the english one is not really finished, but
  maybe someone mails me the translation...
- Bugfix: sometimes the backup was done okay, but usb-backup throws a fatal
  error ... this was a very bad fault, so all users must update!
- improved - GetCurrentSticks()
- 7z.dll unterstützt nun deflate, bzip2 usw.
- neues Feature: MaxFullBackups=X oder 0=disabled
- prüfen ob Tempdir auf NTFS liegt, wenn ja: dann Index als Stream schreiben
- [Junction] beim Kommentar in den Ausschlusslisten mit rein gemacht
- wenn der Index kaputt ist, wird das Passwort nun jedes mal neu abgefragt
- fix beim Prüfen auf Updates, sowie Unterstützung für 64bit
- fix für Status, wenn ein Task beendet wurde, muß das nicht immer
  sofort angezeigt werden... sondern nur, wenn das der aktuelle Task ist!
- ui, Bug bei StringFormatTime() gefixt: %m <> %M
- Logfiles haben nun je Komplettsicherung einen extra Pfad, dieser wird bei
  löschen des entsprechenden Sicherung auch gelöscht
- temporärer Index wird erstmal nicht mehr versteckt, gab Probleme
- diverse Variablen mit "Const" versehen, damit Sie nicht geändert werden können
- temporärer Index wird nun ein wenig via NTFS Streams versteckt
- das Dim a[] durch Local a[] ersetzen wieder rückgängig gemacht
last change: 2020-00-17 @ 10:47

The application is made for Windows Systems and should run on any Windows since Windows XP:

  • Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10
  • Windows Server 2003, Windows Server 2008, Windows Server 2012

The program 7-Zip with support for should be installed and also registered with the .7z extension in Windows.

Last modified on 2017-11-08 at 09:30