{"id":50702753,"url":"https://github.com/beebeeep/butcher","last_synced_at":"2026-06-09T09:59:49.699Z","repository":{"id":36745050,"uuid":"41051656","full_name":"beebeeep/butcher","owner":"beebeeep","description":"convenient shmux-based shell for executing command on many hosts","archived":false,"fork":false,"pushed_at":"2016-08-02T10:32:42.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-16T19:15:24.715Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beebeeep.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-19T18:13:29.000Z","updated_at":"2016-07-30T01:12:25.000Z","dependencies_parsed_at":"2022-09-07T09:00:53.756Z","dependency_job_id":null,"html_url":"https://github.com/beebeeep/butcher","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/beebeeep/butcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beebeeep%2Fbutcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beebeeep%2Fbutcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beebeeep%2Fbutcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beebeeep%2Fbutcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beebeeep","download_url":"https://codeload.github.com/beebeeep/butcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beebeeep%2Fbutcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34101070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-09T09:59:47.801Z","updated_at":"2026-06-09T09:59:49.684Z","avatar_url":"https://github.com/beebeeep.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=======\nButcher\n=======\nButcher is a `shmux \u003chttp://web.taranis.org/shmux/\u003e`_-based shell for executing commands within Chef-managed infrastructure.\n\nInstallation\n------------\nFirst, you need to install shmux itself. You may check whether there's a package available for your distribution, or just build it from sources (`latest available release \u003chttp://web.taranis.org/shmux/dist/shmux-1.0.2.tgz\u003e`_). \n\nButcher itself can be installed via setup.py, like this\n\n.. code:: bash\n  \n  sudo python setup.py install\n\nConfiguration\n-------------\nCopy `butcherrc_example \u003chttps://github.com/beebeeep/butcher/blob/master/butcherrc_example\u003e`_ to ~/.butcherrc and apply your changes\n\nUsage\n-----\nFirst run of ``butcher`` may take some time as it fetches hosts information from Chef servers you configured in ~/.butcherrc. After that, you can start it with -a parameter, i.e ``butcher -a`` to use cached data (this data is periodically refreshed in background while butcher is running). \n\nOnce you get into butcher shell, your current environment, region and user will be displayed in prompt string. Environments are chef servers you configured, you are always working within specific environment i.e with single Chef server. Regions are actual Chef environments, you can select specific one with ``region`` command or say ``unset region`` to use all. User is actualy user that will be used for ssh-ing to hosts, can be changed with command ``set user`` or reseted to current user using ``unset``. \n\nMain commands are:\n\n* ``hostlist SELECTOR`` - displays hosts matching SELECTOR\n* ``p_exec SELECTOR CMD`` - executes CMD on hosts matching SELECTOR in parallel (maximum number of threads can be set using ``threads`` commands)\n* ``exec SELECTOR CMD`` - same as ``p_exec``, but sequentially, in one thread. \n\nSELECTOR is comma-separated list of hosts or expressions like ``%ROLE[@REGION]``, where ROLE is actual chef role (``*`` glob can be used) and REGION is region, i.e. Chef environment (if missing, current region will be used)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeebeeep%2Fbutcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeebeeep%2Fbutcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeebeeep%2Fbutcher/lists"}