📜  春天——用粗麻布进行远程处理(1)

📅  最后修改于: 2023-12-03 15:10:29.455000             🧑  作者: Mango

春天——用粗麻布进行远程处理

在程序开发过程中,经常需要进行远程处理,比如部署应用、执行脚本等。而不同的工具和技术可以帮助我们实现这些任务,其中,粗麻布就是一种实用的远程处理工具。

粗麻布简介

粗麻布是一种基于Go语言开发的轻量级远程处理工具,它的主要特点包括:

  • 简单易用:支持命令行和API两种方式进行调用,参数简单易懂。
  • 安全可靠:采用SSH加密协议,支持用户名密码和SSH密钥两种认证方式。
  • 支持批量操作:可以一次性对多台服务器进行操作,提高效率。
使用粗麻布进行远程处理
安装
  1. 确认已经安装Go语言环境。
  2. 执行以下命令安装粗麻布:
go get github.com/lotusdeng/cumulus
启动服务

执行以下命令启动粗麻布服务:

cumulussrv --port=8000
命令行调用

执行以下命令在目标服务器上创建一个空文件夹:

cumuluscli --host=192.168.1.2 --user=user --password=123456 mkdir /path/to/folder
API调用

可以通过HTTP API调用粗麻布的功能。

执行以下Go代码向目标服务器上传一个文件:

package main

import (
	"bytes"
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	url := "http://192.168.1.2:8000/upload?user=user&password=123456"
	content := "hello, world!"
	req, err := http.NewRequest("POST", url, bytes.NewBuffer([]byte(content)))
	if err != nil {
		panic(err)
	}
	req.Header.Set("Content-Type", "application/octet-stream")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}

	fmt.Println(string(body))
}
总结

粗麻布是一个简单易用的远程处理工具,可以在开发和运维中发挥重要作用。在实际使用中,可以根据具体情况选择命令行或API调用,避免了繁琐的手动操作,提高了效率。