安排一个 cron 任务每天重复一次?

安排一个 cron 任务每天重复一次?

所有谷歌结果都提到了 cron 作业。它们不起作用,我严格遵循了多个指南,并且脚本从未启动。

我只需要设置亮度在早晨和黄昏时变化,这对我来说似乎是一个非常简单的任务,但令人惊讶的是我无法弄清楚。我使用brightnessctl来控制笔记本电脑的亮度,并且不需要sudo。

我正在运行 Arch Linux。安装cronie,在终端 Icrontab -e和我写的文件中41 17 * * * dunstify "timer",这是我写完后几分钟的时间,作为测试它是否运行。

我保存文件,在 systemctl 中启用并启动 cronie 服务,然后输入 crontab -l,然后出现“no crontab for Indeedwatson”。

编辑:Crontab 错误:[用户] 没有 crontab

这篇文章引导我找到了这个命令sudo crontab -u indeedwatson -e,我可以从中创建一个确实显示crontab -l.我不明白为什么。我使用 sudo 来创建它,但不列出它们,并且在任何情况下,所有指南都不需要该-u标志,对我来说,这似乎是通过在没有 sudo 的情况下运行它来暗示的,​​它是我自己的用户。

答案1

如果不知道您使用的是哪个 Linux/Unix 发行版,或者您进行了哪些配置更改,或者您在工作中使用了哪些命令cron,则很难确定。我会做一些假设:

  1. 假设您的亮度命令实际上可以从命令行运行,并且它需要su权限:

不要使用普通用户crontab,而是使用root crontab;即打开您的crontab编辑器sudo。这样,您的cron作业将以所需的权限运行:

sudo crontab -e
  1. 假设您没有使用重定向stderr要获得潜在有用的&的好处stdout,请在您的 cron 作业中尝试一下;重定向用于>>指定文件,并2>&1包含stderrstdout
...
0 7 * * * /full/path/to/bright-adj-pkg >> /home/user/mylog.txt 2>&1
0 19 * * * /full/path/to/bright-adj-pkg >> /home/user/mylog.txt 2>&1
...

相关内容