【问题标题】:How to make a shell script run automatically daily?如何让 shell 脚本每天自动运行?
【发布时间】:2023-03-16 11:40:02
【问题描述】:

我的操作系统是 windows xp,我的服务器是 Linux。我在 perl 中开发了一个代码(保存在 shell 文件中)。

我想仅使用您的脚本从 Windows 连接到 Linux 机器,然后在 linux 上运行脚本,这应该每天都自动完成。 有可能吗?

【问题讨论】:

  • 您想在哪台机器上运行计划任务?在 linux 上你会使用 cron。

标签: linux perl windows-xp


【解决方案1】:

windows下的shell文件?这就是所谓的批处理文件

这是一个如何设置scheduled task on windows的示例

如果您的远程机器在 linux 上,您可以阅读 here 如何设置它们。

您有几个选项可以在远程机器上运行脚本:

  • 将远程机器上的文件复制到相同位置的相同文件名(使用 ftp 或 ssh,您可以使用另一个脚本执行此操作)并将 linux 机器的 cron 作业设置为每天执行相同的文件

  • 在 linux 机器上安装(web)服务器并创建一个网页,通过该界面上传和执行脚本(这样您就不必在 linux 上设置 cron 作业)

  • 在 linux 机器上创建一个脚本以连接到另一个服务(如 ftp 位置),下载所需的脚本(您要执行的脚本)并执行它。将下载脚本放入您的 cron 以便随时执行

  • 在您的脚本中使用Net::SSH::Perl 在 linux 机器上运行命令(为此,您显然需要 ssh 访问该机器)

【讨论】:

  • 我需要将这个脚本从我的 windows 机器运行到以 Linux 作为其操作系统的远程机器上。所以我需要先在脚本中连接到那台机器对吗?
  • 另一种方法是使用像putty 这样的ssh(或telnet)客户端从Windows 机器执行脚本。
【解决方案2】:

是的。创建一个以脚本文件名作为参数运行 PERL.exe 的计划任务。

【讨论】:

  • 我不需要先连接到我的服务器吗?我需要在 Linux 的远程服务器上运行此代码。
  • 我假设您已经可以在服务器上运行您的脚本并且只是在寻找一种安排它的方法。你到底在做什么?
  • 这些是我的要求:我需要在代码中连接到linux机器,并且它应该每天自动运行。
  • 您的服务器是否运行 Samba?如果是这样,您可能只需使用 UNC 路径进行连接。发布您的脚本代码可能有助于我们为您提供帮助。
猜你喜欢
  • 2015-05-26
  • 1970-01-01
  • 2012-10-30
  • 2011-09-06
  • 2013-05-28
  • 2020-06-23
  • 2014-12-21
  • 2011-02-03
  • 2016-02-29
相关资源
最近更新 更多