This tool will observe files and push a copy of them into a given git repository every time the file was changed.
The tool reads the configuration from a config yaml. So you have to provide such a config yaml:
> back2git <config_yaml>
This tool runs in the foreground. If you want to run in background you have to do it by your own. There is no service/option inside this tool to do that.
Key | Description |
---|---|
repository.url | The url of the git repository where the files will be pushed in. |
repository.branch | The name of the remote branch to push in. |
repository.path | The location of the local git repository clone. |
repository.auth.basic | If you want to use basic auth for the given git repository. |
repository.auth.basic.username | The username. |
repository.auth.basic.password | The plain password. |
repository.auth.basic.passwordCommand | The command which should be executed to get the password. |
repository.auth.basic.passwordCommand.name | The password program path. |
repository.auth.basic.passwordCommand.args | The arguments for the password program. |
repository.auth.token | If you want to use a token as authentication for the given git repository. |
repository.auth.ssh | If you want to use ssh as authentication method for the given git repository. |
repository.auth.ssh.username | The username. |
repository.auth.ssh.privateKey | The location of the private key PEM file. |
repository.auth.ssh.pkPassword | The password for the private key. |
repository.auth.ssh.pkPasswordCommand | The command which should be executed to get the private key password. |
repository.auth.ssh.pkPasswordCommand.name | The password program path. |
repository.auth.ssh.pkPasswordCommand.args | The arguments for the password program. |
files | The files to be observed. |
Observe the files /etc/hosts and /etc/groups and push them to the github repository rainu/my-configs and use a github access token (settings > Developer Settings > Personal Access Token > Scope (all Repo) ).
repository:
url: https://github.com/rainu/my-configs.git
path: /home/rainu/backup/my-configs
auth:
token: ghp_...
files:
/etc/hosts:
/etc/groups:
Use username/password credentials for authentication.
repository:
url: https://github.com/rainu/my-configs.git
path: /home/rainu/backup/my-configs
auth:
basic:
username: rainu
password: secret
files:
/etc/hosts:
/etc/groups:
Use github repository via ssh.
repository:
url: github.com/rainu/my-configs.git
path: /home/rainu/backup/my-configs
auth:
ssh:
username: git
privateKey: /home/rainu/.ssh/id_rsa
pkPassword: secret
files:
/etc/hosts:
/etc/groups:
Call a program to get the password.
repository:
url: https://github.com/rainu/my-configs.git
path: /home/rainu/backup/my-configs
auth:
basic:
username: rainu
passwordCommand:
name: echo
args:
- '-n'
- 'secret'
files:
/etc/hosts:
/etc/groups: