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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.