[Linux][报错解决] linux发行版无法运行systemctl和cron

发布时间 2023-07-10 16:46:07作者: Akira300000

报错信息

运行cron时显示了"new crontab is installing",然而事实是根本没有运行crontab里的命令

*/1 * * * * date >> /tmp/mydate

查找解决方法时发现有两个可能的原因

1. 未添加必要的环境变量

cron跑指令和在shell里直接写是不一样的,cron并不知道哪个路径是他需要用来跑指令的,所以需要在指令或shell文件中指定路径(我没做因为没看懂),或者直接添加环境变量(我的解决方法)

  • 检查你的环境变量,如果没有这个
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
  • 编辑.bashrc
    vim ~/.bashrc
  • 加上这句话
    export PATH=$PATH:/usr/sbin
    PS. 这个完成后如果还是不行的话

2. 未下载需要的包

我用的centos8发行版有两个包需要下载,cronie和crontabs,直接yum下载
完成后可以systemctl status crond来查看crond服务状态,一般来说可能需要重启计算机,状态面板可以按q退出。

systemctl无法运行

这是我遇到的第二个报错,同样地需要在完成步骤后重启计算机

wsl2如今已经内置systemctl命令(但是我的不行),还是各种下载安装和编辑文件

1. 如果你只用systemctl

  • 新建wsl.conf文件
    touch /etc/wsl.conf
  • 写入
[boot]
systemd=true

重启计算机。应该能用了

2. 如果你还是想用service

  • 检查下载安装initscripts包,系统会自动跳转到systemctl