https://github.com/Expoverse/file-backup
Go program to securely archive and backup data from multiple servers.
https://github.com/Expoverse/file-backup
archive backup backup-data backups folders go golang linux scp servers shell ssh yml
Last synced: 11 months ago
JSON representation
Go program to securely archive and backup data from multiple servers.
- Host: GitHub
- URL: https://github.com/Expoverse/file-backup
- Owner: Expoverse
- License: bsd-3-clause
- Created: 2019-09-26T01:06:37.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-09-30T21:49:57.000Z (over 6 years ago)
- Last Synced: 2023-03-07T20:27:21.521Z (almost 3 years ago)
- Topics: archive, backup, backup-data, backups, folders, go, golang, linux, scp, servers, shell, ssh, yml
- Language: Go
- Homepage:
- Size: 10.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Zipline
The community is welcomed to ask questions, contribute, and make issues, and pull requests.
#### Description
Very fast go program to securely archive and backup data from multiple servers.
This software compresses (backups) the remote folders and then downloads to local destination.
#### Installing Zipline (Linux)
```bash
$ curl -sSL https://git.io/zipline | bash
```
#### Usage
To create backups edit the config.yml file. An example of the config.yml file below:
```
- server:
remoteSource: ~/example/directory/products
host: 10.0.2.1
privateKey: id_rsa_testing
username: ubuntu
localDestination: products
- server:
remoteSource: ~/docker/apache/app/var/www/members
host: 52.26.27.120
privateKey: id_rsa_production
username: root
localDestination: members
```
The yml contains an array of servers with properties. Each server should contain:
- **remoteSource** This is the remote directory src
- **host** This is the IP address of the remote machine assuming the port is ***22***
- **privateKey** This is the name of the .pem file in the directory created by Zipline. The directory
is called ***privateKeys***
- **username** Username to log into the machine via ssh
- **localDestination** The child directory name of the location to store the backups in ***backups***
folder created by Zipline.
#### Creating more servers
To create more servers add another server definition to the list in the config.yml file. Fill in the
properties according to your setup.
```
- server:
remoteSource:
host:
privateKey:
username:
localDestination:
```