RestInCloud

simple restfully dockerized distributed open source cloud backup server ;-)

Download as .zip Download as .tar.gz View on GitHub

RestInCloud

simple restfully dockerized distributed open source cloud backup server ;-)

Install Server

to install the ric-server check deployment dir for different enviroments (docker, apache, nginx)

Client for CLI

if your ric-servers are running, you can use the smart "ric" cli tool to backup etc. and manage the cluster

Client-README

Help

Api Overview

Show Help

GET /
GET /?help

File:

PUT  /filename              # backup/upload a file
POST /filename              # refresh file if exists
GET  /filename              # restore/download a file
GET  /filename?check        # check exists, replicas, freshness, size of the file
GET  /filename?list         # list all versions of the file
DELETE /filename            # delete a selected or all version of the file

Server Management

GET  /?list                 # list all files on this server
GET  /?info                 # show server info
GET  /?health               # show cluster health

POST /?addServer            # add a remote server to server (internal for cluster management)
POST /?removeServer         # remove a server from connected server (internal for cluster management)
POST /?joinCluster          # add the server to existing cluster 
POST /?leaveCluster         # leave a cluster
POST /?removeFromCluster    # drop a other server out of cluster
POST /filename push=>server # push file to server

Api Details

Usecases

Backup a Dir

dir to back up: /home/www/configs/ server identification: myServer encryption password: fooSecret ricServer: ric1.server.de ricWriterToke: barSecret

store the passwords

echo "fooSecret" > /home/www/ricPassFile.txt
chmod 600 /home/www/ricPassFile.txt
echo "barSecret" > /home/www/ricWriterFile.txt
chmod 600 /home/www/ricPassFile.txt

cronjobs (with sic monitoring)

*/5 * * * * /usr/local/sbin/ric backup /home/www/configs/ myServer-configs.tar.bz2 --retention=last7 --passFile=/home/www/ricPassFile.txt --prefix=myServer- --authFile=/home/www/ricWriterFile.txt --server=ric1.server.de 2>&1 >/dev/null | /usr/local/sbin/sic /myServer/ric-backup --STDINasCRITICAL
*/2 * * * * /usr/local/sbin/ric check myServer-configs.tar.bz2 --prefix=myServer- --authFile=/home/www/ricWriterFile.txt --server=ric1.server.de --minTimestamp=-300  2>&1 >/dev/null | /usr/local/sbin/sic /myServer/ric-backup/check --STDINasCRITICAL

Server Manifest

License

The MIT License (MIT)