Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
cmdssh-54.tar.gz (9.7 kB) Copy SHA256 hash SHA256 Source None Jul 7, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page