如何自动在远程服务器上运行一些命令?
例如我使用windows机器。我运行 bat 文件。
- 它编译资源(js + css)
- 向 SVN 提交代码
- 通过 ssh 连接到服务器
- 从该服务器上的 SVN 更新(使用我存储在 Windows 上的 SVN 密码)
- 运行一些 sh 脚本
- 重启守护进程
如何自动化远程任务?(最后 3 个在远程服务器上运行)
如何自动在远程服务器上运行一些命令?
例如我使用windows机器。我运行 bat 文件。
如何自动化远程任务?(最后 3 个在远程服务器上运行)
你的意思是自动化?喜欢每天跑步吗?为此,您安排他们。因此,对于前两个项目,您可以按照您提到的那样通过批处理文件来完成。如果你有一个在远程服务器上运行的 php 服务器,你可以在那里创建一个 php 脚本来执行最后 3 个项目。为此,您可以在 Windows 中创建一个类似 hxxp://myserver.com/update.php 的页面(或 hxxp://myserver.com/update.php?password=12345678 以避免其他人执行它)您的批处理文件会做类似的事情:
使用 php,您可以使用 exec('.sh file') 执行 .sh 命令。
希望这会有所帮助,如果您遇到问题,我可以为您提供 php 脚本。
C
您需要做的就是在服务器上创建一个 bash 脚本来执行此操作。只需创建一个文件,复制您运行的每个命令(每行 1 个命令)并保存文件。然后,当您连接到远程服务器时,您可以简单地运行
sh /path/to/mybashfile
它将运行所有这些命令。如果您从命令行运行 openssh 客户端,您可以简单地执行
ssh user@server "sh /path/to/mybashfile"
但我不确定您在 Windows 上使用的是什么客户端。我很确定你可以用腻子做类似的事情。
如果您想进一步自动化,您可以创建一个 bash 脚本来检查存储库的最新版本,如果它比当前安装的版本更新,请运行这些命令。然后,您可以创建一个 cron 作业,每 N 分钟运行一次该 bash 脚本。