首页 > 解决方案 > 如何自动化远程服务器上的任务。如何从一个响应中获取价值以添加到下一个命令中?

问题描述

我想将旧的 db_backups 转移到一些冷存储(Azure blob 存储)。当大小达到某个特定限制时,如何自动执行传输文件的任务,所有这些都应该在我通过终端中的 ssh 访问的远程服务器上完成。

还有如何读取我可以从中提取 access_token 的响应,并可以在我的下一个命令中使用它来自动运行。谁能给我一些关于这个或任何文章的例子?

如何在 bash 脚本中添加 curl 发布请求?

curl -X POST 'https://server.domain.com/v2/jobs/28723316-9373-44ba-9229-7c796f21b099/runs?project_id=aff59748-260a-476e-9578-b4f4a93e7a92' -H 'Content-Type: application/json' -H "Authorization: Bearer $token"  -d ''

输出是这样的:

{
    "keys": [
        {
            "keyName": "key1",
            "value": "FD0o1y8eSPutze",
            "permissions": "FULL"
        },
        {
            "keyName": "key2",
            "value": "RLQ59xAi8Eg6p8VpIYx",
            "permissions": "FULL"
        }
    ]
}

我想知道上述命令将如何在 shell 脚本中运行。我想从响应中获取 key1 值并回显它。

但现在我在不记名授权中添加 $token 时遇到了麻烦。谁能告诉我在 shell 脚本中的正确格式。

标签: bashcurlsshazure-blob-storage

解决方案


推荐阅读