V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hzqim
V2EX  ›  问与答

预设时间比较复杂, crontab 一定要分开时间段来定义?

  •  
  •   hzqim · 2015-10-18 20:07:32 +08:00 · 3375 次点击
    这是一个创建于 3103 天前的主题,其中的信息可能已经有所发展或是发生改变。
    应用环境:
    防止家人上网到深夜,预设 22:30 —— 6:00 关闭 WIFI ,但一般网络有问题,家人可能会去重启一下路由器,所以是每分钟运行一次,只要在预设的时间内,无论怎么重启,都是关闭 WIFI 的。

    crontab 写法探讨:

    以下写法是否有问题?关键是哪个分钟定义。。。

    30-59/1 22-6 * * * /sbin/wifi down
    5 6 * * * /sbin/wifi up ( 6 点 5 分开启 WIFI )

    如果是这样写呢?
    30-59/1 22 * * * /sbin/wifi down
    */1 23-6 * * * /sbin/wifi down
    5 6 * * * /sbin/wifi up ( 6 点 5 分开启 WIFI )

    更复杂一下,如果预设时间是 22:30 —— 6:30 ,是否要这样:
    30-59/1 22 * * * /sbin/wifi down
    */1 23-6 * * * /sbin/wifi down
    1-30/1 6 * * * /sbin/wifi down
    35 6 * * * /sbin/wifi up ( 6 点 35 分开启 WIFI )

    请各位不吝赐教,谢谢。
    7 条回复    2015-10-19 04:32:12 +08:00
    ETiV
        1
    ETiV  
       2015-10-18 20:56:19 +08:00 via iPhone   ❤️ 1
    这路由都有 cronjob ,就没有访问控制么?

    按每日固定时间段,禁止一个 IP 段联网。

    然后你自己的话,可以手动设置一个段外的 IP 地址,逃避此规则限制。
    squid157
        2
    squid157  
       2015-10-18 21:30:37 +08:00 via iPhone   ❤️ 1
    自己写个 shell script 进行判断和状态改动 每分钟运行一次
    LazyZhu
        3
    LazyZhu  
       2015-10-18 21:33:05 +08:00   ❤️ 1
    OpenWRT 的话,可以直接设置,不用 cron:
    http://wiki.openwrt.org/doc/uci/firewall
    start_time
    stop_time
    skydiver
        4
    skydiver  
       2015-10-18 21:34:20 +08:00   ❤️ 1
    防止家人上网到深夜…………
    这本来就不是技术问题。。。。
    xbb7766
        5
    xbb7766  
       2015-10-18 21:37:08 +08:00   ❤️ 1
    原来不止一个人有这种需要 -_-|||

    lz 不如自己写个脚本,每分钟执行一次,获取时间,如果是断网时间那么就——咔嚓。

    或者我用的办法是把指定设备的 mac 加到 openwrt 的防火墙规则, extra arguments 里设定生效时段,比如
    -m time --kerneltz --weekdays Mon,Tue,Wed,Thu,Fri,Sat,Sun --timestart 22:30 --timestop 06:30
    hzqim
        6
    hzqim  
    OP
       2015-10-18 21:50:49 +08:00
    @ETiV
    @squid157
    @LazyZhu
    @skydiver
    @xbb7766
    谢谢各位支招,方法有多种,那么我们就来另外谈论一下 crontab 的写法,嘻嘻。
    ryd994
        7
    ryd994  
       2015-10-19 04:32:12 +08:00 via Android   ❤️ 1
    crontab 关闭 WiFi 的时候创建一个文件
    rc.local 如果发现该文件就关闭 WiFi
    crontab 开启 WiFi 的时候再删掉
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3302 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:54 · PVG 20:54 · LAX 05:54 · JFK 08:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.