Sake - 로컬 & 리모트 서버들을 위한 명령 실행기를 소개합니다.
Sake 관련 Github Readme 에서는 아래와 같이 소개하고 있고요...
sake is a command runner for local and remote hosts. You define servers and tasks in a sake.yaml config file and then run the tasks on the servers.
한마디로 Sake 는 로컬 & 리모트 서버들을 위한 명령 실행기라고 머릿속에 넣어두시면 됩니다.
그럼, 간략하게 특징을 정리해 볼까요?
특징은 아래와 같이 정리해 볼 수 있고요..
- SSH로 다수 서버에서 명령을 실행해주는 CLI 도구
- 여러대의 서버 또는 도커 컨테이너 대상으로 동작
→ 모든 서버를 ping 하거나, 같은 명령(파일 찾기나 rsync등 ) 실행
- 서버들의 정보를 불러와서 테이블로 표시 가능
설치는 아래와 같이 진행하시면 되고요..
Installation
sake is available on Linux and Mac.
- Binaries are available on the release page
- via cURL
-
curl -sfL https://raw.githubusercontent.com/alajmo/sake/main/install.sh | sh
- via Homebrew
-
brew tap alajmo/sake brew install sake
- Via GO install
-
go install github.com/alajmo/sake@latest
Auto-completion is available via sake completion bash|zsh|fish and man page via sake gen.
Building From Source
Requires go 1.18 or above.
- Clone the repo
- Build and run the executable
make build && ./dist/sake # To build for all target platforms run (requires goreleaser CLI) make build-all
사용은 아래와 같이 하시면 됩니다.
Usage
Create a New Sake Config
Run the following command:
$ sake init
Initialized sake in /tmp/sake
- Created sake.yaml
Following servers were added to sake.yaml
Server | Host
-----------+---------
localhost | 0.0.0.0
Run Some Commands
# List all servers
$ sake list servers
Server | Host
-----------+---------
localhost | 0.0.0.0
# List all tasks
$ sake list tasks
Task | Description
------+-------------
ping | Pong
# Run Task
$ sake run ping --all
TASK ping: Pong ************
0.0.0.0 | pong
# Count number of files in each server in parallel
$ sake exec --all --output table --parallel 'find . -type f | wc -l'
Server | Output
-----------+--------
localhost | 1
그외의 자세한 내용은 아래 github 를 참고하시면 좋을것 같네요..
그리고 라이센스에 대해서 알아보니..
- MIT 라이센스이군요.. 이점도 참고해 보시면 좋을것 같고요..
오늘의 블로그는 여기까지고요..
항상 믿고봐주셔서 감사합니다.
'좋아하는 것_매직IT > 96.IT 핫이슈' 카테고리의 다른 글
WarcDB - Web crawl data as SQLite DB를 소개합니다. (0) | 2022.06.22 |
---|---|
텔레그램 프리미엄 구독 서비스 발표 (telegram.org) (0) | 2022.06.21 |
Vale 프로그래밍 언어 (vale.dev) 깔끔하게 정리하기 (0) | 2022.06.20 |
FireZone - WireGuard 기반의 VPN 서버 & 방화벽 (0) | 2022.06.18 |
Plasmo - 브라우저 확장 개발용 SDK (0) | 2022.06.17 |