1
ETiV 2020-09-21 07:13:44 +08:00 via iPhone
Google 一下
crontab per-user location |
2
arch9999 2020-09-21 07:39:42 +08:00 2
科普一下,cron 并不是像某些人说的: “cron 在运行后每分钟的前 59 秒都在猜用户设定的定时计划,所以它最低的时间间隔是分钟。”
这是及其荒谬的一种说法。 实际上,仔细查看源代码就会发现,其实 cron 通过“特有”(内核赋予)的方式将用户给定的定时计划写入到 CPU 内部一个专有的存储单元,所以 cron 无需在文件系统中存储配置文件也可以正常运行用户给定的定时计划,并精准的运行。 |
3
privil 2020-09-21 08:21:00 +08:00
当对 crontab 所做的改变被保存后,该 crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中。
|
4
privil 2020-09-21 08:21:27 +08:00 11
你这属于 菜,无能狂怒吗?
|
5
sutra 2020-09-21 08:33:16 +08:00
and for macOS: sudo cat /var/at/tabs/${USER}
|
6
jinliming2 2020-09-21 08:48:41 +08:00
(我选择 systemd.timer
Linux 的配置文件可以在这里找到:/var/spool/cron/crontabs/用户名 |
7
ysc3839 2020-09-21 08:56:42 +08:00 via Android 1
@arch9999 “猜用户设定的定时计划”是什么意思? crond 本来就有“用户设定的定时计划”的信息,为什么要“猜”?
在我看来,“将用户给定的定时计划写入到 CPU 内部一个专有的存储单元”才是及其荒谬的一种说法,市面上不同用途的 CPU 那么多,不太可能所有 CPU 都提供一个专有的存储单元。 同时仔细查看 busybox 的源代码就会发现,它仅仅是因为 sleep_time 设置成了 60,所以它最低的时间间隔是分钟。https://github.com/mirror/busybox/blob/a949399d178f7b052ada2099c62621736eafce44/miscutils/crond.c#L1066-L1074 也可以从代码中看出,busybox crond 是通过读取文件系统中的配置信息来运行的。 |
8
mepwang 2020-09-21 09:05:24 +08:00 via iPhone
@ysc3839 确实每个 CPU,从服务器到桌面到嵌入式,都提供了多个特殊的存储单元(定时器 /timer ),专门用来处理定时,精度可以是 CPU 时钟
|
10
pmispig 2020-09-21 09:11:38 +08:00
那你为何不用 /etc/crontab 呢,我就最讨厌 crontab -e 的姿势了
|
11
ysc3839 2020-09-21 09:12:54 +08:00 via Android
@arch9999 我解释不了“楼主找不到配置文件”,但是这和你说的话是否正确有什么关系吗?
我上面的回复是在反驳你的说法,并不是在讨论“楼主找不到配置文件”。 |
12
arch9999 2020-09-21 09:19:01 +08:00
|
13
love 2020-09-21 09:46:56 +08:00 1
@arch9999 你仔细看,他没有找,他是用标准编辑方式 crontab -e 改文件,这个方式没告诉你最终文件在哪,这和 CPU 有什么关系(话说 cron 真放到 CPU 了?这特么高射炮打蚊子了
|
14
rootww21 2020-09-21 10:08:08 +08:00
哈哈哈 乐了
|
15
rootww21 2020-09-21 10:08:32 +08:00
/var/spool/cron/username 不是这里吗
|
16
skymei 2020-09-21 10:13:03 +08:00
你可以在 /etc/cron.d 里面配置的,不需要 -e 全局的方式
|
17
liberty1900 2020-09-21 10:18:03 +08:00 via Android
类 Unix 系统一切都是文件
这个也跑不了 |
18
liangming1 2020-09-21 10:28:17 +08:00
可以理解为 无能狂怒
|
19
catinsides 2020-09-21 12:07:10 +08:00
提问姿势:
cron 的配置文件在哪里? × cron 怎么连配置文件都没有!√ |
20
swulling 2020-09-21 12:32:37 +08:00 via iPhone
@arch9999 找不到只是因为 lz 没看文档,并不是 cron 不写配置文件,也不是配置文件不存在,更不是有啥 cpu 来存。
就好像有盲人发帖说看不见太阳,而你在一本正经的解释太阳本身就看不见。 |
21
liuxu 2020-09-21 16:11:09 +08:00
好了楼上的大哥们别打架了,linux 的大佬们就喜欢用这么直接的问候内心的表达方式
/etc 下一般是用户编辑,软件读取的配置文件 /var 下一般是由软件生成的数据文件 常识,了解一下就可以了,《鸟哥的 linux 私房菜》有一章有说明 |