从 Windows 安装 Linux Bash 脚本到远程 Linux 系统

从 Windows 安装 Linux Bash 脚本到远程 Linux 系统

我有一组 bash 脚本,我想将其安装到远程 Linux 系统。我创建了一个批处理文件,使用 plink 和 putty 在 Windows 主机系统上运行,以将文件传输到 Linux 系统。但 Plink 无法运行安装脚本,该脚本实际上将脚本安排到 crontab 中,它给出“权限被拒绝错误”,因为 chmod 命令未运行。有什么办法可以解决这个问题吗?用于将文件发送到 Linux 机器的命令

 "c:\Program Files (x86)\PuTTY\pscp" -pw passwd *.sh   [email protected]:/mnt/capture/logs/

用于运行脚本的命令

"c:\Program Files (x86)\PuTTY\plink.exe" -ssh -pw passwd -noagent [email protected]   /mnt/capture/logs/script.sh

script.sh文件如下

#!/bin/bash
sudo /mnt/md0/capture/logs/install.sh

plink 命令给出 script.sh:权限被拒绝。

答案1

在调用 chmod 之前先调用它:

plink -ssh -pw password -noagent [email protected] "sh -c 'cd /mnt/capture/logs && chmod a+x *.sh && ./script.sh'"

如果您已在 Windows 文本编辑器中编辑了脚本,请确保它们以 Unix 文件格式保存,这样您就不会出现 CR-NL 行尾。

另外,您的脚本使用sudo-- 用户 nethawk 是否列在 sudoers 文件中?您是否需要输入密码?

相关内容