Cron

儘管安裝和配置了 crontab,但找不到 crontab.service 文件

  • November 3, 2021

我想在 Manjaro 上每分鐘設置一次 crontab,所以我每分鐘都放一些腳本

$ crontab -e
* * * * * /path/to/my/script.sh
crontab: installing new crontab

然後我看到它已安裝

$ crontab -l

但我發現它不起作用,所以我嘗試重新啟動:

$ sudo systemctl restart crontab 
Failed to restart crontab.service: Unit crontab.service not found.

$ sudo systemctl restart cron.service
Failed to restart cron.service: Unit cron.service not found.

$ sudo systemctl list-unit-files | grep -i cron    # No output

然後我注意到cron.service在我的電腦上沒有找到文件,所以我cron.service在不同的電腦上找到了(使用 Mint):

$ cat /lib/systemd/system/cron.service
[Unit]
Description=Regular background program processing daemon
Documentation=man:cron(8)

[Service]
EnvironmentFile=-/etc/default/cron
ExecStart=/usr/sbin/cron -f $EXTRA_OPTS
IgnoreSIGPIPE=false
KillMode=process

[Install]
WantedBy=multi-user.target

所以也許我可以從電腦複製這些文件以及所有依賴項:

scp mint:/lib/systemd/system/cron.service /lib/systemd/system/
scp mint:/etc/default/cron /etc/default/
scp mint:/usr/sbin/cron /usr/sbin/

但我不確定這是否是好的解決方案?

我知道有替代方案,尤其是Arch 發行版的專用計時器,但我更喜歡可移植的系統解決方案。是否可以在 Manjaro 19.02 上正常使用 cron?

我在Manjaro 的波蘭論壇上找到了解決方案。我們應該安裝而不是cron cronie

sudo pacman -S cronie
sudo systemctl enable cronie.service
sudo systemctl start cronie.service

然後我們可以像普通的 crontab 一樣配置。

引用自:https://unix.stackexchange.com/questions/574085