Skip to content

Releases: fititnt/securebox-ad-hoc-backups-for-web-applications

Securebox ad hoc backups for web applications v3.0

19 Nov 04:33
Compare
Choose a tag to compare

Technically speaking v3.0 should still be backward compatible with v2.0 and all documentation should still works. The main reason for this major version bump is.. license model.

  • New features
    • New auto detected web applications
      • Moodle LMS
      • Laravel based web applications
  • Bugfixes
    • securebox-backup-download -> mysqldump strategy now allow non-localhost MariaDB/MySQL servers on target remote servers

New dual licensing model

SPDX-License-Identifier: Unlicense OR 0BSD

Explanation

While the v2.0 and earlier versions already were dedicated to Public Domain, v3.0 is more explicitly the Unlicense https://unlicense.org. The securebox-ad-hoc-backups-for-web-applications is meant to be used without need to deploy copies of the license (the file headers already are OK), but seems that Dedicate only to public domain may not be sufficient. Then the SPDX-License-Identifier: Unlicense OR 0BSD is more explicitly about this.

Why 0BSD?

The reason to explicitly add Zero-Clause BSD License, as quoted from https://landley.net/toybox/license.html:

Zero clause BSD is a public domain equivalent license.

As with CC0, unlicense, and wtfpl, the intent is to effectively place the licensed material into the public domain, which after decades of FUD (such as the time OSI's ex-lawyer compared placing code into the public domain to abandoning trash by the side of a highway) is considered somehow unsafe. But if some random third party takes public domain code and slaps some other license on it, then it's fine.

To work around this perception, the above license is the OpenBSD suggested template license, minus the half sentence requiring the license text be copied verbatim into derived works. If 2BSD is ok, then 0BSD should be ok, despite being equivalent to placing code in the public domain.

Modifying the license in this way avoids the hole android toolbox fell into where 33 copies of BSD license text were concatenated together when copyright dates changed, or the strange solution the busybox developers used to resolve tension between GPLv2's "no additional restrictions" and BSD's "you must include this large hunk of text" by sticking the two licenses at opposite ends of the file and hoping nobody noticed.

Note: I asked Kirk McKusick for permission to call this a BSD license at a conference shortly before I started using the name, and again in 2018.

securebox-ad-hoc-backups-for-web-applications v2.0

16 Nov 02:30
Compare
Choose a tag to compare

In short. the securebox-ad-hoc-backups-for-web-applications v2.0 helps who have
to manage quick local backups for a lot of remote web applications, with the
bare minimum need of point to an source host (requires you already authorized
to SSH on server) and the base path of the application. Database options can
be inferred from common CMS configurations, so you don't need to specify extra
credentials.

Changelog (the first public version)

This is the first public version of securebox-ad-hoc-backups-for-web-applications.
Work is based on previous (not yet released work):

  • securebox-backup-download v2.0
  • securebox-backup-library.sh v2.0
  • securebox-backup-archive-locally v1.0 (draft)

Already implemented features

  • For each "backup job", assumes the concept of user defined
    • ORGANIZATION (default: default)
    • PROJECT (default: default)
    • SOURCE_HOST (required, show help if undefined)
    • SOURCE_PATH (default: /var/www)
    • (other options omitted; these 4 are the most important, others can be auto
      detected)
  • Mirror the remote project on local filesystem
    • LOCALMIRROR_BASEPATH (default: /backups/mirror)
      • This enviroment variable controls the base path for backup jobs
    • Typical path /backups/mirror/organization-a/project-b
      • /backups/mirror/organization-a/project-b/files
        • Store rsync'ed files from remote project
      • /backups/mirror/organization-a/project-b/mysqldump
        • Store an mirrored copy, with 'mysqldump strategy', of remote project
  • Autodetect common CMS web applications
    • The web application configuration file is parsed, so if, for example
      MariaDB/MySQL options are auto-discovered, the tool will atempt to also
      mirror the database.
    • As v2.0 the only implemented is Joomla! CMS
    • Wordpress and Moodle are drafted
  • Next backup jobs are faster, and optmized require only differential
    transference of data from remote project to your local host.
    • Note: this feature may depend on significant extra storage from your local
      disk, in special for database dumps.
      • You can decide to archive the mirrored database to save space, but this
        is not the default behavior since rsync requires the uncompresed .sql
        files