AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[rundeck](server)

Martin Hope
Crazy Joe Malloy
Asked: 2020-03-20 07:47:24 +0800 CST

rsync 命令在终端中工作,在 rundeck 中失败

  • 2

我正在尝试使用 rundeck 将 docker 容器卷中的文件同步到异地服务器。我可以模拟 rundeck 用户并在终端窗口中运行 rsync 命令就好了。

当 rundeck 执行相同的命令时,我将收到Unexpected Remote Arg错误或Unexpected Local Arg错误,具体取决于我在命令中放置--rsync-path选项的位置。如果我省略 --rsync-path我会收到权限被拒绝错误,因为文件位于 docker 卷中并且需要 root 访问权限。

注意:命令和输出已被编辑,但在其他方面是准确的

以用户 rundeck 的身份在 rundeck 服务器上的终端中执行 rsync 命令:

rsync -avP rundeck@remotehost:/var/lib/docker/volumes/dockervolumename/_data /srv/destination/backup_datetime --rsync-path="sudo rsync"

命令输出:

receiving incremental file list
created directory /srv/destination/backup_datetime
_data/
_data/storage/
_data/storage/upload/
_data/storage/uploads/
_data/storage/uploads/admin/
_data/storage/uploads/group/

sent 48 bytes  received 203 bytes  100.40 bytes/sec
total size is 0  speedup is 0.00

同一命令(本地命令)的 rundeck 调试输出:

13:56:50    [workflow] Begin step: 1,NodeDispatch
13:56:50    1: Workflow step executing: StepExecutionItem{type='NodeDispatch', keepgoingOnSuccess=false, hasFailureHandler=false}
13:56:50    preparing for sequential execution on 1 nodes
13:56:50    Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={nodename=localhost, hostname=***, osVersion=8, osFamily=linux, osArch=x64, description=Offsite backup server @ ***, osName=CentOS}, project='null'}
13:56:50    [workflow] beginExecuteNodeStep(localhost): NodeDispatch: StepExecutionItem{type='NodeDispatch', keepgoingOnSuccess=false, hasFailureHandler=false}
13:56:50    LocalExecNodeStepPlugin, running command (6): 'rsync''-avP''rundeck@remotehost:/var/lib/docker/volumes/dockervolumename/_data''/srv/destination/backup_datetime''--rsync-path="sudo''rsync"'
13:56:50    Unexpected local arg: /srv/destination/backup_datetime
13:56:50    If arg is a remote file/dir, prefix it with a colon (:).
13:56:50    rsync error: syntax or usage error (code 1) at main.c(1368) [Receiver=3.1.3]
13:56:50    Failed: NonZeroResultCode: Result code was 1
13:56:50    [workflow] finishExecuteNodeStep(localhost): NodeDispatch: NonZeroResultCode: Result code was 1
13:56:50    1: Workflow step finished, result: Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 1 + {dataContext=MultiDataContextImpl(map={}, base=null)} ]
13:56:50    [workflow] Finish step: 1,NodeDispatch

我已经验证 rundeck 可以通过 ssh 密钥与目标服务器交互并在那里运行命令。

rsync 和 rundeck 之间是否存在某种我缺少的交互?

我是 rundeck 和 rsync 的新手。据我所知,我得到的错误通常是由于命令中的语法错误而发生的。原始命令在终端中运行良好,因此让我相信 rundeck 以某种方式混淆了它。

源服务器是在 OpenStack 环境中运行 CentOS 7 的 VM。

目标服务器是在外部网络上运行 CentOS 8 的 VM。

centos rsync sudo docker rundeck
  • 2 个回答
  • 533 Views
Martin Hope
apteryx
Asked: 2016-08-11 05:02:08 +0800 CST

Rundeck访问节点的环境变量

  • 2

我正在使用 rundeck 运行一个脚本,该脚本取决于对我正在执行脚本的节点上的系统范围的环境变量的访问。这些变量已在 /etc/environment 中设置。

首先,我如何让 rundeck 摄取系统环境?我在 rundeck 中找不到任何选项来执行此操作。

其次,为什么默认情况下不会发生这种情况?我的印象是 rundeck 通过 ssh 工作;不应该每次登录节点都加载系统环境吗?

environment-variables rundeck
  • 1 个回答
  • 2339 Views
Martin Hope
Ianvdl
Asked: 2016-04-06 03:51:29 +0800 CST

导出 Rundeck 执行历史

  • 3

我想在 rundeck 项目的“活动”选项卡下导出完整的执行历史记录(最好以分隔格式,例如 csv)。我已经检查了 rd-queue cli 界面,但它只显示了当前正在运行的作业。

有没有办法导出活动选项卡下看到的所有工作?换句话说,我正在寻找一个列表,其中包含每个作业的名称、开始时间和持续时间以及运行该作业的用户。

rundeck
  • 1 个回答
  • 846 Views
Martin Hope
David
Asked: 2016-03-19 04:52:43 +0800 CST

Rundeck 设置:ssh 密钥文件不存在

  • 1

我是第一次设置 Rundeck。我正在通过配置用户名 =“大卫”的节点进行测试。我已经设置了 ssh-password-storage-path="keys/foo/david" 这是我在 rundeck 中上传私钥文件的地方。我已经测试过,我可以使用无密码登录以 david 身份手动登录到远程机器,我的公钥位于远程机器的 .ssh 目录中。

似乎这应该在 rundeck 上工作,它会尝试以“大卫”的身份连接到远程机器,因为这是节点定义中的用户名配置。我理解正确吗?

但我在 rundeck.log 文件中收到以下错误:

Node failures: {remote-machine-name=[ConfigurationFailure: SSH keyfile does not exist: /var/lib/rundeck/.ssh/id_rsa]}...

这个错误是指远程机器还是rundeck机器上的路径?当我已经告诉 rundeck 它应该在密钥存储 Jabra Mic 中查找私钥 (id_rsa) 时,它为什么还要查找 id_rsa 文件?

谢谢!

rundeck
  • 1 个回答
  • 5412 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve