Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何使用shell在特定时刻打开网站?_Macos_Shell_Terminal - Fatal编程技术网

Macos 如何使用shell在特定时刻打开网站?

Macos 如何使用shell在特定时刻打开网站?,macos,shell,terminal,Macos,Shell,Terminal,我正在寻找如何在特定时间打开网站的解决方案。考虑到shell编程,可以通过以下命令打开网站: $ open http://stackoverflow.com 如果可能的话,如何在某个时刻完成它?您可以使用crontab来完成它 crontab是要在常规服务器上运行的命令列表 以及用于管理该列表的命令的名称 crontab代表“cron表”,因为它使用作业调度器 cron来执行任务;cron本身是以希腊语“chronos”命名的 时间的字眼 假设你有一个脚本/bin/openURL.sh来打开一

我正在寻找如何在特定时间打开网站的解决方案。考虑到shell编程,可以通过以下命令打开网站:

$ open http://stackoverflow.com

如果可能的话,如何在某个时刻完成它?

您可以使用
crontab
来完成它

crontab是要在常规服务器上运行的命令列表 以及用于管理该列表的命令的名称

crontab代表“cron表”,因为它使用作业调度器 cron来执行任务;cron本身是以希腊语“chronos”命名的 时间的字眼

假设你有一个脚本
/bin/openURL.sh
来打开一个网站

30 21* * * /bin/OpenURL.sh
意味着每天21:30执行


有关
crontab
的更多用法,请参阅您可以使用
crontab
来创建它

crontab是要在常规服务器上运行的命令列表 以及用于管理该列表的命令的名称

crontab代表“cron表”,因为它使用作业调度器 cron来执行任务;cron本身是以希腊语“chronos”命名的 时间的字眼

假设你有一个脚本
/bin/openURL.sh
来打开一个网站

30 21* * * /bin/OpenURL.sh
意味着每天21:30执行

有关
crontab
的更多用法,请参见有关一次性作业(计划任务),
at
命令的计划非常简单,正如John1024删除后的答案所示,但是
at
在OSX上有缺点:

  • 必须首先启用它;这是一个一次性操作:
    sudo launchctl load-w/System/Library/LaunchDaemons/com.apple.atrun.plist
  • 您必须使用
    sudo
    (具有管理权限)才能在
    上调度作业
  • 如果作业产生任何输出,它将使用
    mail
    ,作为stdout和stderr输出(我不知道如何抑制这种情况)发送给用户
  • 示例:计划在19:00(晚上7:00)开放一次:
    • sudobash-c'echo”打开http://stackoverflow.com“| 19:00”
对定期作业使用
crontab
是OSX上的一个选项;e、 例如,安排每天19:00(晚上7:00)打开的作业:

  • 运行
    crontab-e
    在编辑器中打开当前用户的crontab文件
  • 添加以下行,保存并关闭文件:
    • 019***打开http://stackoverflow.com
  • 如果一个作业产生任何输出,它将使用
    mail
    ,作为stdout和stderr输出的组合,发送给用户(我不知道如何抑制这种情况)
但是,OSX的官方建议是对一次性和定期作业使用
launchd

  • launchd
    非常灵活集中所有作业调度;与
    crontab
    一样,存在系统范围和每个用户的作业
  • 的缺点是定义作业所需的
    .plist
    文件创建起来既麻烦又繁琐
使用我们前面的示例:

一次性作业:(在19:00(晚上7点)打开一次)

  • 创建文件
    ~/test.plist
    (对于一次性作业,位置无关紧要)
  • 粘贴以下内容:

标签
测试作业
程序参数
每天19:00(晚上7:00))

  • 创建文件
    ~/Library/LaunchAgents/testPeriodic.plist
    • 注意:位置问题:
      ~/Library/launchagent
      是每个用户作业定义
      *。plist
      文件必须驻留在其中,以便在每次登录时自动加载
  • 粘贴以下内容:

标签
测试作业周期
程序参数
.

对于一次性作业(计划任务),
at
命令计划起来非常简单,正如John1024删除后的答案所示,但是
at
在OSX上有缺点:

  • 必须首先启用它;这是一个一次性操作:
    sudo launchctl load-w/System/Library/LaunchDaemons/com.apple.atrun.plist
  • 您必须使用
    sudo
    (具有管理权限)才能在
    上调度作业
  • 如果作业产生任何输出,它将使用
    mail
    ,作为stdout和stderr输出(我不知道如何抑制这种情况)发送给用户
  • 示例:计划在19:00(晚上7:00)开放一次:
    • sudobash-c'echo”打开http://stackoverflow.com“| 19:00”
对定期作业使用
crontab
是OSX上的一个选项;e、 例如,安排每天19:00(晚上7:00)打开的作业:

  • 运行
    crontab-e
    在编辑器中打开当前用户的crontab文件
  • 添加以下行,保存并关闭文件:
    • 019***打开http://stackoverflow.com
  • 如果一个作业产生任何输出,它将使用
    mail
    ,作为stdout和stderr输出的组合,发送给用户(我不知道如何抑制这种情况)
但是,OSX的官方建议是对一次性和定期作业使用
launchd

  • launchd
    非常灵活集中所有作业调度;与
    crontab
    一样,存在系统范围和每个用户的作业
  • 的缺点是定义作业所需的
    .plist
    文件对cr来说既麻烦又不琐碎