【问题标题】:Command to execute a script later稍后执行脚本的命令
【发布时间】:2017-11-07 06:10:16
【问题描述】:

我想在 12 小时后执行一个脚本。我可以通过远程访问执行脚本,但问题是我将乘飞机旅行,可能无法访问互联网。所以我想知道几个小时后或某个特定时间是否有一些命令可以执行脚本。例如,

cat my_script.sh
echo Hello World
run my_script.sh at 23:00 hr

【问题讨论】:

  • 看看:man at.
  • 或者,您可以使用 cron 添加脚本以进行一次性运行 - unixgeeks.org/security/newbie/unix/cron-1.html
  • cron 是你的朋友
  • @Spade:Cron 对于“一次性运行”来说是完全错误的。 Cron 非常适合重复性工作。
  • @Cyrus,使用cron 没有任何问题。实际上,您建议的at 命令在许多系统上通常默认不启用。另外,我的理解是at 在内部通过crondlaunchd 工作。

标签: linux bash sh wait execute


【解决方案1】:

查看at 的手册页

man at

您可以通过多种方式指定时间。您可以执行以下操作:

at -f my_script.sh 23:00

【讨论】:

    【解决方案2】:

    在 linux 中使用 cron 作业。 喜欢

    0 */12 1 11 3 /bin/execute/my/script.sh >/dev/null 2>&1
    

    【讨论】:

      【解决方案3】:
      #!/usr/bin/python
      import time
      time.sleep(60*60*12)
      # your script here
      
      # for shell script:
      import subprocess
      subprocess.call(['./my_script_name.sh'])
      

      对于没有大量使用 shell 脚本经验的人,请确保您的 .sh 脚本在脚本顶部有一个 shebang 行 #!/usr/bin/env bash 并且它可以通过$ chmod 744 my_script.sh 执行

      【讨论】:

        【解决方案4】:

        我建议使用cronat 进行此类操作。 如果您只需要运行一次作业,那么at 将是最直接的选择。

        如果您更喜欢定期/按计划运行它(例如,如果您需要它每晚运行)它具有更大的灵活性 cron 是您正在寻找的工具。

        一路平安!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-05-05
          • 1970-01-01
          • 2014-12-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多