Skip to content
Snippets Groups Projects
Commit e55389ae authored by Axel Hahn's avatar Axel Hahn
Browse files

add docs folder (for daux.io)

parent 152297b3
Branches
No related tags found
1 merge request!23add docs folder (for daux.io)
# IML BACKUP #
Backup scripts using restic or duplicity.
Runs on Linux: CentOS, Debian, Manjaro, Ubuntu.
* Free software. GNU GPL 3.0
* Source: <https://git-repo.iml.unibe.ch/iml-open-source/iml-backup/>
* Restic: <https://restic.net/>
* Duplicity: <http://duplicity.nongnu.org/>
# Why #
We rollout our linux systems automatically. We try not to configure third systems
for backup, monitoring and other general services.
* **No central backup server**: We don't want to configure a backup set on a "central backup server" for each new node. Each new node pushes its own backup data to a given backup target.<br><br>
* We want to **push data from a private network** to target; a central backup server would not reach some clients without sattelite systems.<br><br>
* **Automatic backup of databases**: A set of database backup scripts detects exsiting locally running database services and puts a compressed dump file per database scheme to a local backup directory.<br><br>
* We want to use a **local encryption** of all data to backup.
# Database backup #
Before starting the backup of local files to a backup target there is a step to dump a local
database. If one of the supported database types is detected it will be dumped.
We try to implement the approach "zero config" if possible.
Supported local databases for backup and restore:
* Mysql/ Mariadb (requires mysql_dump)
* postgres (pg_dump)
* sqlite (by naming files with full path in a config)
Limited support:
* couchdb (using a config with naming convention)
* ldap (without restore so far)
# Backup tools #
## Duplicity ##
* Incremental and full backups
* encrypted backups using GPG
* set size of backup volumes
* delete old backups by a given time limit
* several backup targets (currently supported protocols: scp:// rsync:// and file://)
## Restic ##
* creates an initial full backup - and then never again.
* encrypts data
* deduplicates files
* delete backups by rules to keep a count of hourly, daily, weekly, mothly, yearly backups
* several backup targets (currently supported protocols: sftp:// https:// and file://)
# Control simoultanous backups #
As an optional feature you can control the count simultanous written backups.
This requires additional effort next to the client installation.
{
"title": "IML Backup",
"author": "Axel Hahn",
"ignore": {
"files": ["30_PHP-client/Plugins/Checks/_skeleton.md"],
"folders": ["99_Not_Ready"]
},
"html": {
"auto_toc": true,
"date_modified": false,
"jump_buttons": true,
"edit_on_github_": "iml-it/appmonitor/tree/master/docs",
"links": {
"Git Repo": "https://git-repo.iml.unibe.ch/iml-open-source/iml-backup"
},
"theme": "daux-blue",
"search": true
}
}
\ No newline at end of file
/*
patch css elements of daux.io blue theme
*/
/* ---------- vars ---------- */
:root{
/* background colors */
--bg:#fff;
--bg-navlinkactive:#f4f4f4;
--bg-navlinkactive: linear-gradient(-90deg,#fff, #f0f0f0 30%);
--bg-pre:#f8f8f8;
/* foreground colors */
--color: #234;
--navlinkactive:#f33;
--title: #aaa;
--link:#12a;
--toclink:#666;
--h1: #666;
--h1-bottom: 1px solid #eee;
--h2: #888;
--h3: #aaa;
}
/* ---------- tags ---------- */
body, *{color: var(--color); }
a{color: var(--link);}
a:hover{opacity: 0.7;}
h1>a{ color:var(--title);}
_h1:nth-child(1){position: fixed; background: var(--bg); box-shadow: 0 0 1em #ccc; padding: 0 1em}
h1:nth-child(1)>a{ color:var(--navlinkactive); }
.s-content h1{color: var(--h1); font-size: 200%; font-weight:bold; margin-top: 2em; border-bottom: var(--h1-bottom);}
.s-content h2{color: var(--h2); font-size: 160%; }
.s-content h3{color: var(--h3); font-size: 140%; }
.s-content h4{margin: 0; font-size: 100%; text-align: center; background-color: rgba(0,0,0,0.05);padding: 0.3em;}
.s-content pre{
background: var(--bg-pre);
}
/* ---------- classes ---------- */
.required{color:#a42;}
.optional{color:#888;}
/* ----- top left */
.Brand,
.Columns__left {
background-color: var(--bg);
border-right: 0px solid #e7e7e9;
color: var(--color);
}
.Brand{font-size: 200%;
background: #fafafa;
background: linear-gradient(-10deg,#fff 50%, #ddd);
}
/* ----- Navi left */
.Nav a:hover{
background: none;
color: var(--navlinkactive) !important;
}
.Nav__item--active {
border-right_: 0.3em solid var(--navlinkactive);
}
.Nav__item--active > a{
background: var(--bg-navlinkactive);
color: var(--navlinkactive);
}
.Nav .Nav .Nav__item--active a {
color: var(--navlinkactive);
}
.Nav .Nav .Nav__item a {
opacity: 1;
}
.Nav__item--open > a {
background-color: var(--bg);
}
.Nav a[href*="__Welcome"]{
background: url("/icons/house.png") no-repeat 10px 4px ;
padding-left: 40px;
}
.Nav a[href*="__How_does_it_work"]{
background: url("/icons/light-bulb.png") no-repeat 10px 4px ;
padding-left: 40px;
}
/* ---------- classes ---------- */
/* FIX smaller fnt size in tables */
.s-content table {
font-size: 1em;
}
/* TOC */
@media(min-width:1700px){
.TableOfContentsContainer{
position: fixed;
right: 2em;
top: 1em;
}
}
.TableOfContentsContainer{
border-top-left-radius: 1em;
background-color: var(--bg);
border-left: 2px solid rgba(0,0,0,0.05);
padding: 0em;
}
.TableOfContentsContainer__content {
border: none;
_border-left: 3px solid #eee;
font-size: 0.5em;
}
ul.TableOfContents ul{
list-style-type: none;
padding-left: 1em;
}
.TableOfContentsContainer a{ color:var(--toclink);}
.TableOfContentsContainer__content > .TableOfContents > li + li {
border-top: none;
}
.TableOfContentsContainer__content > .TableOfContents > li {
border-bottom: 1px dashed #ddd;
}
/* pager - prev .. next */
.s-content{
margin-bottom: 6em;
}
.Pager{
border-top: 1px dashed #aaa; margin: 0; padding: 1em;
}
.Pager a{
color:var(--navlinkactive);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment