Macos 如何使用shell在特定时刻打开网站?
我正在寻找如何在特定时间打开网站的解决方案。考虑到shell编程,可以通过以下命令打开网站:Macos 如何使用shell在特定时刻打开网站?,macos,shell,terminal,Macos,Shell,Terminal,我正在寻找如何在特定时间打开网站的解决方案。考虑到shell编程,可以通过以下命令打开网站: $ open http://stackoverflow.com 如果可能的话,如何在某个时刻完成它?您可以使用crontab来完成它 crontab是要在常规服务器上运行的命令列表 以及用于管理该列表的命令的名称 crontab代表“cron表”,因为它使用作业调度器 cron来执行任务;cron本身是以希腊语“chronos”命名的 时间的字眼 假设你有一个脚本/bin/openURL.sh来打开一
$ 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
上调度作业
- 如果作业产生任何输出,它将使用
,作为stdout和stderr输出(我不知道如何抑制这种情况)发送给用户mail
- 示例:计划在19:00(晚上7:00)开放一次:
sudobash-c'echo”打开http://stackoverflow.com“| 19:00”
crontab
是OSX上的一个选项;e、 例如,安排每天19:00(晚上7:00)打开的作业:
- 运行
在编辑器中打开当前用户的crontab文件crontab-e
- 添加以下行,保存并关闭文件:
019***打开http://stackoverflow.com
- 如果一个作业产生任何输出,它将使用
,作为stdout和stderr输出的组合,发送给用户(我不知道如何抑制这种情况)mail
launchd
:
非常灵活,集中所有作业调度;与launchd
一样,存在系统范围和每个用户的作业crontab
- 的缺点是定义作业所需的
文件创建起来既麻烦又繁琐.plist
- 创建文件
(对于一次性作业,位置无关紧要)~/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来说既麻烦又不琐碎