FileTrail was added to backup all other files on the server. BountySite's existing backup services only backups websites and respective databases, but not full server. FileTrail uses restic and provides with a simple web interface to configure and manage backup.
FileTrail makes it easy to manage backup without server administration.
- All features of restic backup tool
- Support for AES-256 encryption
- Deploy on any S3 compliant cloud storage or BackBlaze cloud storage
- Optionally, you can deploy your own S3 service
- View file diferences between backups
- Set job scheduler hour
- Set number of backups to retain and automatically delete old backups
- Can run within NATed networks
- Protection from hard drive failure
- Easy view of file changes
- Recover from accidental mistakes
- Web based backup management
- BountySite control panel with multi user configuration to manage ACL
- Hosting providers can provide storage space along with FileTrail as a backup service to their customers
The following packages are required to be installed:-
python-2.7.5-77.el7_6.x86_64 libgcrypt-1.5.3-14.el7.x86_64 python-libs-2.7.5-77.el7_6.x86_64 elfutils-libs-0.172-2.el7.x86_64
The following packages are required
python libpython2.7 libdw1 libgcrypt20
For debian, create a link
ln -sf /lib/x86_64-linux-gnu/libgcrypt.so.20.1.6 /lib/x86_64-linux-gnu/libgcrypt.so.11
- Download FileTrail
$ mkdir bountysite && cd bountysite $ wget -O filetrail.tar.gz https://www.bountysite.com/downloads/cpanel-bountysite-plugin.tar.gz $ tar xzf filetrail.tar.gz
Install FileTrail. Installation needs root access
Test run script
# /usr/local/bountysite/bin/FileTrailBountySite.py --help usage: FileTrailBountySite.py [-h] [--BSAPI BSAPI] [--sitename SITENAME] [--verbose] [--foreground] [--logfile LOGFILE] [--version] FileTrail Server Backup optional arguments: -h, --help show this help message and exit --BSAPI BSAPI Enter BSAPI URL --sitename SITENAME Sitename for which FileTrail is configured on BountySite --verbose, -v Increase verbosity --foreground, -F Run in foreground --logfile LOGFILE If not running in foreground, log file to use --version, -V Print version
- In BountySite control panel, first add a new site, with the site name as that of server hostname, in fqdn
- Subscribe for FileTrail, either FreeTrial or Paid subscription
- FileTrail package should be instantly provisioned. Check notification message for confirmation
- Go to Top bar > Settings > API Key
- Add server/vps primary key to Whitelisted IPs in CIDR format(x.x.x.x/32) and submit.
- Contact support (at) bountysite.com or create a support request, to get Secure client password and configuring file exclusions in backup
FileTrail can be run(as root) from command line as shown below. The command will prompt for APIKEY and password(CLIENTPASSWORD). API_KEY can be fetched from API Key page on BountySite, and password will be shared by support team.
# ### First time to run /usr/local/bountysite/bin/FileTrailBountySite.py --BSAPI <BSAPI_URL_FROM_API_KEY> --sitename <SITE_as_added_in_BountySite> -F -vvv ... ... 2019-04-15 17:02:42,040 - root - DEBUG - <module>:222 - [*] No job scheduled
If you get a No job scheduled at the end, then everything is fine.
If you want to run FileTrail through systemd, you will have to edit the script to set APIKEY and CLIENTPASSWORD.
- Using your favourite editor open /usr/local/bountysite/etc/config.ini and set appropriate values.
BOUNTYSITE_API_URL = https://api.bountysite.com/Backup #Filetrail configs APIKEY = "APIKEY_FOR_CORRESPONDING_SITE" CLIENTPASSWORD = "CLIENT_PASSWORD_OBTAINED_FROM_SUPPORT" Hostname = "AS_CONFIGURED_as_SITENAME_IN_BountySite_ControlPanel"
- From download folder, copy systemd script for FileTrail.
cp systemd/bsfiletrail.service /etc/systemd/system systemctl daemon-reload systemctl start bsfiletrail systemctl status bsfiletrail # ## to enable on startup systemctl enable bsfiletrail
Configuring backup on BountySite Control Panel. Go to FileTrail page(Sidemenu > Security > FileTrail)
Backup Destination : S3 or Backblaze
- Server Type : CPanel or Custom : Server type initiates the Excludes path list, which are to be excluded in backup. Excludes can only controlled by BountySite support as on date.
- Bucket Name : Bucket name on which backup is to be stored. It is recommended to create individual bucket for every server.
- Endpoint URL : The destination URL of cloud storage
- Backup Hour : BountySite schedules backup by queueing job, and letting FileTrail lookup from the queue. Backup Hour signifies which UTC hour to schedule a job to queue. FileTrail client probes BountySite every 1hr and lookups queue for a job.
- Retention : This tells how many backups to keep on the destination
- Backupday : When to initiate backup job? Daily/Monthly/day of week/disable. Monthly starts backup on 5th day of every month.
- Encryption Key : This option has to be set only once. Encryption key cannot be changed after configuring repository. Encryption is slow and takes more resources and you also loose on the benefits of data deduplication by restic.
- Access Key and Secret Key : Credentials needed by backup tool to send to cloud storage
- Excluded files : Do not input anything, it is ignored. It shows currently excluded files.