systemd-timers

DNF-自动触发器设置为在未配置的时间运行
systemd-timers

DNF-自动触发器设置为在未配置的时间运行

我正在配置 dnf-automatic 以自动在一些低优先级测试箱上安装安全更新。最终,我希望更新在每个星期日早上 4-5 点左右运行,但出于测试目的,我已将测试箱配置为在星期三下午 14:xx 开始更新,并暂时将任何随机化降至最低。启动后,第一次更新确实会按计划时间运行,但如果我随后查看 systemd 中的计时器状态,则下一次运行的计划时间是第二天早上 6 点。我理解这是 dnf-automatic 默认执行的时间,可能有些关系,但我没有看到我的配置中引用了这一点: ● dnf-automatic-install.timer - dnf-automati...

Admin

睡眠直到此 systemd 计时器日历时间发生?
systemd-timers

睡眠直到此 systemd 计时器日历时间发生?

systemd 具有计时器,其中有很多有用的方法来输入日期或时间。我正在编写一个长时间运行的数据处理脚本。是否有任何命令可以休眠直到发生特定的 systemd 时间定义?例如systemd-timer-sleep --until-calendar="03:00",一个命令将阻塞到下一个凌晨 3:00。 是的,我知道这意味着我的脚本可能会运行几天,没关系。 我确信我可以使用date&&sleep计算到达我想要的日期时间的秒数来做到这一点,但我想知道是否有(现在)更简单的方法。 ...

Admin

延迟 systemd 计时器,直到冲突服务完成
systemd-timers

延迟 systemd 计时器,直到冲突服务完成

我有多个作业需要通过 systemd 定时器定期启动。这些作业是互斥的 - 如果一个作业正在运行而另一个作业仍在运行,其中一个作业可能会产生无效结果甚至崩溃。因此,我需要确保一次只能运行其中一个作业,因此如果某个作业已在运行,systemd 需要延迟调度任何有冲突的作业,直到正在运行的作业结束。 我如何向 syststemd 发出信号,延迟某项工作,直到所有冲突的工作都已完成?conflicts对我来说,使用似乎不是一个好选择,因为我想让已经运行的工作自行完成,而不是被强制停止(所有这些工作最终都会自行完成)。 ...

Admin

尽管 persistent=false,Systemd 计时器是否在暂停后触发?
systemd-timers

尽管 persistent=false,Systemd 计时器是否在暂停后触发?

我不明白当主机挂起时 systemd 计时器应该如何表现: 这是一个简单的服务:foo.service [Unit] Description=Test timer [Service] Type=simple ExecStart=echo "TEST TIMER" 以及对应的定时器:foo.timer [Unit] Description=Run foo every day [Timer] OnCalendar=Mon..Sun 17:47:00 如果我启动计时器,在计时器到期前几秒挂起主机systemctl suspend,并在几分钟后唤醒系统,则会...

Admin

如何排除 Ubuntu Certbot cron/timer 故障?
systemd-timers

如何排除 Ubuntu Certbot cron/timer 故障?

lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal 并通过 apt-get 安装了 certbot 我的问题是,这是证书第二次过期,并且 certbot 安装的 cron(也是 systemd 服务)不起作用。 我看到这个文件被创建: /lib/systemd/system/certbot.timer [Unit] D...

Admin

使用 systemd 服务依次运行两个脚本
systemd-timers

使用 systemd 服务依次运行两个脚本

我有两个脚本,我想要做的是: 凌晨 1 点,第一班列车运行 一旦第一个停止,这是一个条件,第二个触发 那么,我应该使用: [Service] ExecStartPre = script.py ExecStart = secondscript.py 或者 [Service] Type = oneshot ExecStart = first.py ExecStart = second.py man注意: 请注意,ExecStartPre=不能用于启动长时间运行的进程。由通过调用的进程分叉的所有进程ExecStartPre=将在下一个服务进程运行之前被终...

Admin

每次启动时都运行服务初始化脚本?
systemd-timers

每次启动时都运行服务初始化脚本?

问题描述: 在启动时,我们会触发如下所示的服务初始化脚本。该脚本是 Instance 的一部分User Data。 该脚本将必要的服务/计时器复制到systemd文件夹并启动计时器。 有时重启后我们的计时器不工作并且停留在N/A。 该sudo systemctl restart cleanup.timer命令没有帮助。 只有 sudosystemctl stop cleanup.timer然后才sudo systemctl start cleanup.timer有效。 我们不只在特定定时器上遇到此问题。我们有许多定时器,它们具有几乎相同的结构和初始化服务。所...

Admin

为什么当单位是目标时我的 systemd 计时器仅触发一次?
systemd-timers

为什么当单位是目标时我的 systemd 计时器仅触发一次?

我有几个服务(静态网站生成器),我想从同一个 systemd 计时器定期触发它们。我发现这个问题/答案,它完全涵盖了我想要做的事情,并描述了一个设置,即一个.target文件Wants=由相应的计时器触发多个服务。这听起来很棒,但我发现当我实际设置它时,它只会触发一次,则自行禁用! 我准备了一个最小的工作示例(这不会触发多个服务,但演示了同样的问题): test-timer.timer: [Unit] Description=A test timer [Timer] OnCalendar=*-*-* *:*:30 Unit=test-timer.targe...

Admin

在 systemd 服务中,是否可以对同一个单元(服务)同时使用 `After=` 和 `Before=` 选项?
systemd-timers

在 systemd 服务中,是否可以对同一个单元(服务)同时使用 `After=` 和 `Before=` 选项?

单位每小时由 启动一次,但运行。单位也是。Type=oneshot这里的要求是它们的进程在运行时永远不应重叠(确保这一点),到目前为止一切都很好。现在想象一个场景,其中和一起运行超过一个小时(火灾之间的时间)。这里有两种可能性:A.serviceA.timerWants=B.serviceBefore=B.serviceB.serviceType=oneshotoneshotABA.timer A运行超过一个小时,那么虽然A.timer想要启动,并且可能确实会启动,但无论如何,A在第一个实例完成之前不会启动另一个实例,因为服务实例唯一性是 的基本原则之一s...

Admin

添加一次性触发 systemd 定时器
systemd-timers

添加一次性触发 systemd 定时器

我有一个 systemd 定时器,它在星期五 23:00 运行,以便在需求低迷时每周进行一次批量数据处理。今天是星期二,我想测试我所做的更改,我希望它今天 23:00 开始,这样我就可以明天检查,而不必等到下周一。 有没有一种简单且内置的方法来安排一次性触发 systemd 计时器?例如systemd trigger-timer --timer whatever.timer --at 2021-06-22T23:00或类似的东西?我希望它只在此时启动,我不想添加新的重复规则。我希望它每周五 23:00 和今天 23:00 定期运行。 我确信我可以对某些东西进...

Admin