Nohup没有带有Ansible Playbook的此类文件或目录

Nohup没有带有Ansible Playbook的此类文件或目录,ansible,Ansible,我正在尝试执行一个剧本,它将在4个不同的数据库上执行sql脚本 在剧本中,我使用命令作为 -name:运行示例脚本 shell:nohup./S4D/wrapper.sh./S4D/sample.sql>/S4D/nohup.out 2>&1& 目录结构如下所示 root/ └── SD4/ ├── wrapper.sh └── sample.sql 我发现了错误 “stderr”:“/bin/sh:./S4D/nohup.out:没有这样的文件或目录” 已选中EOL转换,

我正在尝试执行一个剧本,它将在4个不同的数据库上执行sql脚本

在剧本中,我使用命令作为

-name:运行示例脚本
shell:nohup./S4D/wrapper.sh./S4D/sample.sql>/S4D/nohup.out 2>&1&
目录结构如下所示

root/
└── SD4/
    ├── wrapper.sh
    └── sample.sql 
我发现了错误

“stderr”:“/bin/sh:./S4D/nohup.out:没有这样的文件或目录”


已选中EOL转换,设置为Unix(LF)。

如果要确定任务将在何处执行,可以使用
shell
模块的参数:

-name:运行示例脚本
shell:nohup wrapper.sh sample.sql>nohup.out 2>&1&
args:
chdir:/SD4
##chdir:/root/SD4
##因为我不能肯定你的问题
##如果root是/或
##如果是/root文件夹

如果目录结构是/S4D/Wrapper.sh,那么也只需给出相同的内部nohup命令即可。不确定你的当前目录(dot)指的是播放的任何地方。如您所知,只需给出完整的路径,然后再试一次。要求有4个目录对应于我的4个数据库中的每一个。每个目录都有sql脚本和一个wrapper.sh,它设置TNS_ADMIN并提供数据库名称和连接凭据。单个playbook将有4个任务,使用shell模块在数据库上运行这些sql脚本,使用nohup.chdir:,在S4D中存在我的包装器和sql脚本,在执行playbook时没有错误,nohup.out在S4D中生成,但它表示“无法运行命令包装器_sample.sh:没有这样的文件或目录。”
wrapper\u sample.sh
是否可执行?是的,命令(nohup wrapper\u sample.sh sample.sql&)本身在终端上工作。事实上,所有相对路径的变化,绝对路径都可以正常工作。它只是不适用于Ansible。