V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wuyadaxian  ›  全部回复第 1 页 / 共 5 页
回复总数  95
1  2  3  4  5  
9 小时 37 分钟前
回复了 wuyadaxian 创建的主题 程序员 [疑问]如何使用 cron 让脚本每 7 分钟执行一次?
@wanqingfengtao 哈哈哈。没有。
全部交给 NTP 。
10 小时 57 分钟前
回复了 LeeReamond 创建的主题 程序员 想搞台用来测试性能的机器,怎么搞便宜?
google cloud 最近免费最多 300 美金,直接进去开个几百核的实例测试就行,免费的费用应该够测试半个小时。
12 小时 25 分钟前
回复了 dlzht 创建的主题 程序员 记一次小小面试中发生的那一点点波澜
别在意,如果面试官给我说这个数很大,我可能会考虑为 bigint 。
有些情况下求和相减的时间和空间复杂度可能并不是很好。
13 小时 13 分钟前
回复了 wuyadaxian 创建的主题 程序员 [疑问]如何使用 cron 让脚本每 7 分钟执行一次?
我们现在拥有了两种解法
一种穷举法,见#22 ,#32 ,#33 ,#34 ,#113
一种复杂的 command 法,见#39 ,#40 ,#45 ,#51 ,#68 ,#96 ,#119
-----------------------------
穷举法:
#周一
0-56/7 0-21/7 * * 1 command
3-59/7 1-22/7 * * 1 command
6-55/7 2-23/7 * * 1 command
2-58/7 3-17/7 * * 1 command
5-54/7 4-18/7 * * 1 command
1-57/7 5-29/7 * * 1 command
4-53/7 6-20/7 * * 1 command
#周二
2-58/7 0-21/7 * * 2 command
5-54/7 1-22/7 * * 2 command
1-57/7 2-23/7 * * 2 command
4-53/7 3-17/7 * * 2 command
0-56/7 4-18/7 * * 2 command
3-59/7 5-29/7 * * 2 command
6-55/7 6-20/7 * * 2 command
#周三
4-53/7 0-21/7 * * 3 command
0-56/7 1-22/7 * * 3 command
3-59/7 2-23/7 * * 3 command
6-55/7 3-17/7 * * 3 command
2-58/7 4-18/7 * * 3 command
5-54/7 5-29/7 * * 3 command
1-57/7 6-20/7 * * 3 command
#周四
6-55/7 0-21/7 * * 4 command
2-58/7 1-22/7 * * 4 command
5-54/7 2-23/7 * * 4 command
1-57/7 3-17/7 * * 4 command
4-53/7 4-18/7 * * 4 command
0-56/7 5-29/7 * * 4 command
3-59/7 6-20/7 * * 4 command
#周五
1-57/7 0-21/7 * * 5 command
4-53/7 1-22/7 * * 5 command
0-56/7 2-23/7 * * 5 command
3-59/7 3-17/7 * * 5 command
6-55/7 4-18/7 * * 5 command
2-58/7 5-29/7 * * 5 command
5-54/7 6-20/7 * * 5 command
#周六
3-59/7 0-21/7 * * 6 command
6-55/7 1-22/7 * * 6 command
2-58/7 2-23/7 * * 6 command
5-54/7 3-17/7 * * 6 command
1-57/7 4-18/7 * * 6 command
4-53/7 5-29/7 * * 6 command
0-56/7 6-20/7 * * 6 command
#周日
5-54/7 0-21/7 * * 7 command
1-57/7 1-22/7 * * 7 command
4-53/7 2-23/7 * * 7 command
0-56/7 3-17/7 * * 7 command
3-59/7 4-18/7 * * 7 command
6-55/7 5-29/7 * * 7 command
2-58/7 6-20/7 * * 7 command
-----------------------------
复杂 command 法:
* * * * * [ $(($(date +\%s) / 60 \% 7 )) -eq 0 ] && ( command )
13 小时 37 分钟前
回复了 wuyadaxian 创建的主题 程序员 [疑问]如何使用 cron 让脚本每 7 分钟执行一次?
@noyle #96 it works!!!!
感谢#96 楼,需要注意#96 楼提到的两点问题。

我使用下面的代码:
* * * * * [ $(($(date +\%s) / 60 \% 1 )) -eq 0 ] && ( /etc/test.sh )
14 小时 0 分钟前
回复了 wuyadaxian 创建的主题 程序员 [疑问]如何使用 cron 让脚本每 7 分钟执行一次?
@baoshijiagong
你可以把它看做一道面试/考试题。
你进入正在一个面试/考试,电脑画面已经打开了 crontab -e 。
考题是每 7 分钟执行一次 test.sh
已经确认 user 对 test.sh 有读写运行权限。
一旦你关闭这个编辑界面面试/考试即结束。
-----------------------------------------------------
以上是我瞎编的。
我并不是想解决任何实际问题。
毕竟实际问题上不会存在这么奇葩的要求,一般 */5 * * * * command 就够用了。
14 小时 8 分钟前
回复了 wuyadaxian 创建的主题 程序员 [疑问]如何使用 cron 让脚本每 7 分钟执行一次?
@baoshijiagong 因为之前查了资料,有系统环境差异。
比如#51 楼提到的,macOS 下 crontab 和 linux 下 crontab 就可能会不一样。
而且有些特别的 arm 芯片上的特定版本 os 下的 crontab 也可能有差异。
我考虑的是尽可能说出相关环境,用于实践测试。
@brant2ai #88 估计和平台有关 。
#51 楼我找到一个文章,声称使用 macOS 可以这么运行。
但是没有发现 linux 平台下的案例。
@brant2ai 如果你那边服务器可以运行,请告诉我以下你服务器的系统和版本号。我去装一个测试下,看是不是只有 ubuntu 不行。
@brant2ai 同时,直接在窗口运行 [[ $(($(date +'%s / 60 % 1 '))) -eq 0 ]] && /etc/test.sh
是没问题的,因为左边部分永远为真,右边始终会执行。
@brant2ai 见楼上,我已经正确赋予了用户对 test.sh 的读写运行权限。
另外如果我改为* * * * * /etc/test.sh 是可以正常每分钟运行的。
* * * * * [[ $(($(date +'%s / 60 % 1 '))) -eq 0 ]] && /etc/test.sh
我将%7 改为%1 ,这样理论上每分钟就会运行一次 test.sh 。但是没有运行
@brant2ai 我也可以直接在 tty 中使用这行 command ,但是 cron 里面不会运行
@brant2ai 同样,在 cron 里面* * * * * [[ $(($(date +'%s / 60 % 7 '))) -eq 0 ]] && command 。 [无法运行] ------在 tty 内,[[ $(($(date +'%s / 60 % 7 '))) -eq 0 ]] && command 。 [正常运行]
@brant2ai 另外这个算没用 cron 了吧。
@brant2ai 你可以看看 45 楼和 51 楼,我不确定是不是我环境或者什么问题,在 ubuntu 下无法执行。
@brant2ai bash: syntax error near unexpected token `(' 是我的环境问题吗
@brant2ai 我试试
@brant2ai 要操作外部脚本啊,那就不在讨论范围了。都能用外部脚本了,方法就多了,楼上很多。
@brant2ai 复写的时候是哪段代码或什么外部程序或者谁(真人)来进行。
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1196 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.