gpt4 book ai didi

linux - Crontab 无法识别命令

转载 作者:太空宇宙 更新时间:2023-11-04 09:14:01 29 4
gpt4 key购买 nike

我有一个 bash 脚本,我想将其作为 cron 作业运行。除了一个命令外,它工作正常。我重定向了它的 stderr 以获取错误,并发现它显示的错误是无法识别的命令。它是根 crontab。当我在终端中键入命令时,当前用户和 root 都成功执行了命令。当我通过终端运行脚本时,甚至脚本也会执行命令。

启动脚本:

#!/bin/bash
sudo macchanger -r enp2s0 > /dev/null
sudo /home/deadpool/.logkeys/logger.sh > /dev/null

logger.sh :

#!/bin/bash
dat="$(date)"
echo " " >> /home/deadpool/.logkeys/globallog.log
echo $dat >> /home/deadpool/.logkeys/globallog.log
echo " " >> /home/deadpool/.logkeys/globallog.log
cat /home/deadpool/.logkeys/logfile.log >> /home/deadpool/.logkeys/globallog.log
cat /dev/null > /home/deadpool/.logkeys/logfile.log
cat /dev/null > /home/deadpool/.logkeys/error.log
logkeys --start --output /home/deadpool/.logkeys/logfile.log 2> /home/deadpool/.logkeys/error.log

错误日志

/home/deadpool/.logkeys/logger.sh: line 10: logkeys: command not found

最佳答案

请记住,cron 运行的环境与您的用户帐户或 root 运行的环境不同,并且可能不会在其 中包含 logkeys 的路径>路径。您应该在脚本中尝试 logkeys 的绝对路径(通过用户的 which logkeys 找到它)。另外,我建议查看 this answer on serverfault关于运行脚本,就像它们从 cron 运行一样,当您需要找出为什么它对您有用而不是在工作中时。

关于linux - Crontab 无法识别命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50800523/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com