Skip to main content

Compare local script output with remote script output

Project description

https://travis-ci.org/guettli/compare-with-remote.svg?branch=master

compare-with-remote

Compare local files with remote files

About

This is a generic file comparing tool. I wrote it to help the transition from “pet to cattle”. With other words I am switching from linux server managed with vi and ssh to configuration management.

It helps you to compare files on a remote host with files on your local file system.

Install

pip install -e git+https://github.com/guettli/compare-with-remote.git#egg=compare-with-remote

Usage

===> compare-with-remote -h
usage: compare-with-remote [-h]
                           [--only-files-containing-pattern ONLY_FILES_CONTAINING_PATTERN]
                           directory_url_one directory_url_two

compare two directories. Directories can get fetched via ssh first, then
"meld" get called to copmare the directories. See https://github.com/guettli
/compare-with-remote

positional arguments:
  directory_url_one     [[user@]remote-host:]dir
  directory_url_two     [[user@]remote-host:]dir

optional arguments:
  -h, --help            show this help message and exit
  --only-files-containing-pattern ONLY_FILES_CONTAINING_PATTERN

Examples

You want to compare all files in the /etc directory which contain the word “rsyslog”:

root@local-server> compare-with-remote --only-files-containing-pattern rsyslog \
                                          root@server-with-cute-name-1:/etc \
                                          root@server-with-cute-name-2:/etc

You can compare the output of scripts like this:

root@local-server> compare-with-remote \
    'postgres@server-with-cute-name-1:psql -c "select app, name from django_migrations order by id"' \
    'postgres@server-with-cute-name-2:'

If you don’t provide a remote-command for the second host, then the command from the first host will get called. In this case all rows of a database table get compared.

Screenshots

After fetching the files, the script calls the tool “meld” to show the actual diff:

https://github.com/guettli/compare-with-remote/blob/master/docs/screenshot-of-meld-compare-directory.png

Here is a screenshot of meld showing the difference between two files:

https://github.com/guettli/compare-with-remote/blob/master/docs/screenshot-of-meld-compare-file.png

Don’t be shy

I want to know what you think and feel. Please leave a comment via the github issue tracker. I love feedback.

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

compare-with-remote-0.12.0.tar.gz (4.6 kB view hashes)

Uploaded Source

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