Skip to main content

Make SFTP syncing "easy-peasy lizard squeezy".

Project description

Installation

$ sudo apt-get update && sudo apt-get install -y python3 python3-pip
$ sudo pip3 isntall thegekko

Gekko provides bash’s tab-complete feature. To enable it, use:

$ source /etc/bash_completion.d/gekko_ac

If ‘/etc/bash_completion.d/’ is supported, the tab-complete feature will automatically enable in the next session.

Quick Start

Add files or directories you don’t want to sync.

$ gekko camo venv/
Checking for venv/... Exist.
/home/me/gekkotest/.gekkoign saved.

Set up SFTP connection.

$ gekko grip root@myserver.com:/root/gekkotest-remote -s MyServer
Host:             myserver.com
SSH Port:         22
User:             root
Upload Directory: /root/gekkotest-remote
Remark:           MyServer

Connection Saved.

Set up SFTP connection using a rsa key and specify the ssh port.

$ gekko grip root@myserver.com:/root/gekkotest-remote -s MyServer -p 1080 -k ~/.ssh/id_rsa
Host:             myserver.com
SSH Port:         1080
User:             root
Upload Directory: /root/gekkotest-remote
Remark:           MyServer
Private key:      /home/ice/.ssh/id_rsa

Check for changes.

$ gekko sense MyServer -p P@ssw0rd
Connecting to myserver.com... Connected.
Checking for /root/gekkotest-remote... Exist.
Changes will be taken:
* /root/gekkotest-remote/app.py
> /root/gekkotest-remote/db.py
+ /root/gekkotest-remote/assets/logo.png
Disconnecting... Done.

0.102 MB need to upload.
0.003 MB need to download.

Sync using password. Add “-r” if you don’t want to change your local file.

$ gekko run MyServer -p P@ssw0rd -r
Connecting to myserver.com... Connected.
Make directory at /root/gekkotest-remote... Skipped.
Change directory to /root/gekkotest-remote... Done.
Ignored:   .gekkoign
Uploading: app/main/views.py... Done.
Uploading: app/templates/index.html... Done.
Skipped:   app/templates/old.html
Ignored:   venv/lib/python3.5/site.py
......
Ignored:   venv/pip-selfcheck.json
Skipped:   oldone.txt
Uploading: requirements.txt... Done.
Uploading: manager.py... Done.
Reserved:  db.py
Disconnecting... Done.

Commands

  • camouflage (camo) : Define a file or a directory which will be ignored when uploading. This will generate ‘.gekkoign’ file.

  • grip (gp) : Create a host which files will be uploaded to. You can also save the host or remove it.

  • list (ls) : Show all the connections.

  • remove (rm) : Remove a connecion.

  • sense (ss) : Check for the changes which will taken in uploading.

  • run (rn) : Start the upload sequence.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

theGekko-0.3.1.tar.gz (8.0 kB view hashes)

Uploaded Source

Built Distribution

theGekko-0.3.1-py2.py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page