Newer
Older
backup-commander / README.md
# Backup Commander

Backup Commander is a simple web-based backup platform powered by PHP offering:

- Easy installation
- Intuitive UI
- Incremental file backup
- Backup scheduling


Add this line in the sudoers file (use visudo) and it must go AFTER the %sudo line

www-data ALL=(ALL) NOPASSWD: /usr/bin/php /var/www/html/bin/run-bu-by-id.php *

> [!NOTE]
> A test note

Test by switching user to www-data:
su -s /bin/bash www-data
cd /var/www/html
php bin/run-bu-by-id.php 19 0
	where 19 is the backup id and 0/1 is not-test/test
	
Comment out /inc/secure.php in post_handler.php if the login is not required
	
Highlighted `wxallowed` 

html anchor [mount(8)](https://man.openbsd.org/mount.8))
	
### Project directory structure
```sh

backup-commander
└─html			All web code. You can create a symlink to this directory for your web-server
  ├─bin			Binary scripts runnable via bash. This directory is NOT served
  ├─css			All CSS files
  ├─img			All image files
  ├─inc			All php files. This directory is NOT served
  └─js  			All JS files
└─install	Install and update scripts

```

### Updating the App

To pull down the latest changes from the repo, navigate to you project directory (where the original clone was
performed) and then the install folder. In there, run the bash script install.sh

Note that you need to specify the user which your web-server is running as.

This script will pull the latest changes from the repo and perform any additionally required data/file updates

TODO:

	create an install script:  -- currently all manually done
	
		First version on Las-server
		Pre-requesite to push onto pearcey.net
		Generate a database schema with default login
		add the sudo entry for www-data (or other webserver user)
		kick off the schedule runner at the install stage


	create the schedule runner in php. simple polling of the DB
	get passwords from BD
	create a user credential page:
		new user+password
		change own password
		but only if the login is enabled (in post_handler.php)