Skip to main content

Execute commands on local machine and on remote machine via ssh, and a wrapper for paramikos scp.

Project description

Execute commands on local machine and on remote machine via ssh, and a wrapper for paramikos scp.

shell command

Wrapper around subprocess.call with shell=True

shell(cmd)

Background Unix command running

Runs a blocking unix command and returns the result

cmd_run(cmd, pr=False, streamoutput=True, returnoutput=True, cwd=None, prefix=None)

# example
cmd_run('date "+%Y-%m-%d% %H:%M"', pr=False, streamoutput=False, returnoutput=True)

# more params
call_command(command, cmdfolder=os.getcwd(), verbose=False, streamoutput=True,\
             returnoutput=False, prefix=None, ret_and_code=False)

Parameters:

  • command: unix command

  • cmdfolder=os.getcwd() -> working folder command

  • verbose=False -> prints the command

  • streamoutput=True -> prints output to stdout (keeps buffering)

  • returnoutput=False -> return the buffered output

  • prefix=None -> string to place before streaming output

  • ret_and_code=False -> return exit code also (code, val)

Variant background unix command

Common usecase scenario, run a command and get the result, possibly print to the console using an optional filter.

# example filter:
def onlyerrors(data):
    if "ERROR" in data:
        return data

cmd_exec(cmd, cmdtoprint=None, display=True, myfilter=onlyerrors)
  • cmdtoprint: unix command

  • display: print to console

  • myfilter: function used to print

SSH: run command on remote machine

Uses ssh and key authentication to logon to a remote ssh server and execute a command there.

def remote_cmd(server, cmd, username=None, timeout=60, keypath=None):

#example
remote_cmd("localhost", "rm -Rf ~/Desktop/foobar")

Parameters:

  • server: ip or domain name of server

  • cmd: unix command to execute

  • username: username used to login

  • timeout: try time to connect to server

  • keypath: path to the public key of username

tuplebased interface:

remote_cmd_map(servercmd)
  • servercmd: tuple with ( server, cmd, username, keypath )

SSH: Secure Copy Protocol

scp_get(server, fp1, fp2, username=None, keypath=None)
scp_put(server, fp1, fp2, username=None, keypath=None)

Parameters:

  • server: ip or domain name of server

  • fp1: source filepath

  • fp2: target filepath

  • username: username used to login

  • keypath: path to the public key of username

SSH: Shell

Invoke a shell on a machine

invoke_shell(server, username, keypath)

Parameters:

  • server: ip or domain name of server

  • username: username used to login

  • keypath: path to the public key of username

Download file

Wrapper around the requests library. Downloads a file with a progress bar.

download(url, mypath):

parameters:

  • url: url to download

  • mypath: filepath where to create the downloaded file

example output:

download: http://download.thinkbroadband.com/5MB.zip
00:00:02|███████████████████████         | 3.7Mi/5.0Mi

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

cmdssh-53.tar.gz (9.7 kB view details)

Uploaded Source

File details

Details for the file cmdssh-53.tar.gz.

File metadata

  • Download URL: cmdssh-53.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cmdssh-53.tar.gz
Algorithm Hash digest
SHA256 54233e2dd96ba30040bbe7560f6a5f87f901ec337742093a4096d8b0faf42d30
MD5 3ad686d5d76f4fb9630ca1edabbf5e4c
BLAKE2b-256 5951eeaa5caf6f1389074bf67f581a95c2e7ea4643e89c3dc0657dff77732975

See more details on using hashes here.

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