7 internet scheduled-tasks cron macos
我正在使用 OSX 10.6 并且它内置了 cron。我如何编写一个 cron 作业来阻止我每天晚上 7 点到早上 7 点的互联网?
我确定这一定很简单,但我只能在网上找到一个示例,但它不起作用。它说:
set /etc/hosts.allow file to
be empty
set hosts.deny file to
ALL : ALL
Run Code Online (Sandbox Code Playgroud)
我这样做了,谷歌仍然出现。
小智 8
在花了很多小时试图调试一个没有从 root 运行的作业的问题之后,我能够得到你所说的工作。这是我的确切步骤:
在终端类型中:
$ sudo crontab -eu root
Run Code Online (Sandbox Code Playgroud)
然后输入:
0 19 * * * /sbin/ifconfig en0 down > /dev/null
0 7 * * * /sbin/ifconfig en0 up > /dev/null
Run Code Online (Sandbox Code Playgroud)
就是这样!感谢@Amardeep 和@Stephenr 的贡献。
小智 5
艾伦的家长控制答案可能是最好的方法。但为了后代,我将描述为什么您的主机尝试不起作用并描述 cron 类型的解决方案。
Hosts.allow(及其对应的hosts.deny)用于指定允许(或禁止)使用某些服务访问您的计算机的主机。您想要做的是相反的事情,这就是为什么它不起作用。
应该断开网络然后重新连接网络的 crontab 条目将类似于:
0 19 * * * /path/ifconfig eth0 down 1> /dev/null
0 7 * * * /path/ifconfig eth0 up 1> /dev/null
Run Code Online (Sandbox Code Playgroud)
cron 在许多 *nix 系统上的实现方式不同,并且上述格式也有变化,因此请参阅您的手册页。抱歉,我无法提供 OS X 的具体细节。出于安全原因,某些 cron 实现在执行命令时只会设置有限的环境变量,因此您应该通过在 shell 提示符下键入“which ifconfig”来指定完整路径。您可以通过删除 stdout 重定向来对其进行一些调试,并且许多 crons 应该通过电子邮件将命令的输出发送给您,或者您可以直接重定向到日志文件。
我不确定 OS X 以太网设备叫什么...它可能与 eth0 不同。只需键入 ifconfig,它就会显示活动设备名称。您可能必须是 root 才能运行 ifconfig。您当然需要成为 root 才能编辑 crontab 文件。
归档时间: |
|
查看次数: |
2830 次 |
最近记录: |