Skip to content

milkwine/Zed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

Zed - Remote execution shell over SSH

SYNOPSIS

# Just run zed
> docker run -it --rm -v ~/.zed:/root/.zed -v /tmp/:/tmp/ milkwine/zed:latest

Welcome nobody~!
(Type 'help' to show more commands)

# set your username used by ssh/scp
> nobody@zed> set username foo

# add a group servers
> foo@zed> add first_group
myserver1.bar.com
myserver{2~9}.bar.com
[CTRL+D]
add servers hosts[9] suc!

# show the servers added just now
> foo@zed> dump first_group

# use a group as your target
> foo@zed> use first_group 

# run command over ssh
> foo@zed> cmd ls /tmp

# run command with sudo
> foo@zed> cmd sudo ls /root

# port detection
> foo@zed> port 80

# checkout the results to group
> foo@zed> checkout

# then you can use the suc group
> foo@zed> use default.suc

# get remote file
> foo@zed> get /tmp/fileA /tmp/fileA

# transfer local file to remote
> foo@zed> put /tmp/scriptA.sh /tmp/

# show more commands
> help

DESCRIPTION

Zed is remote execution shell over SSH with many plugins to help you to manage servers.

Features below:

  • execution over SSH
  • transfer file over scp
  • port detection
  • flexible way to manage targets
  • easy to type cmd with completion

(Servers will not disconnect until you quit. So Large mount of servers may cause memory problem)

ENV

$ENV{ZED_HOME}: zed working dir, default $HOME/.zed

CONF

$ENV{ZED_HOME}/Space: 

  #targets defined here.
  ---
  foo:
  - 127.0.0.1
  none: ~

$ENV{ZED_HOME}/Env: 

  ---
  username: nobody

  #idc is the name of a regex to identify servers group.
  #batch idc 1. Pick 1 server of each group identified by regex idc to build new targets.
  batch:
    idc: ^.+?\..+?\.(.+?)\.

  #short command to complete real command
  macro:
    ip: cmd /sbin/ip addr|grep inet|grep -v 127.0.0.1|awk "{print \$2}"|awk -F"/" "{print \$1}"

  #plugins to load
  plugin:
  - Zed::Plugin::Sys::Echo
  ...
  - Zed::Plugin::Host::Checkout

AUTHOR

SiYu Zhao zuyis@cpan.org

COPYRIGHT

Copyright 2016- SiYu Zhao

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

About

Remote execution shell over SSH

Resources

License

Stars

Watchers

Forks

Packages

No packages published