![Cron 调用脚本时出错,而执行脚本时通常不会出错](https://linux22.com/image/1613483/Cron%20%E8%B0%83%E7%94%A8%E8%84%9A%E6%9C%AC%E6%97%B6%E5%87%BA%E9%94%99%EF%BC%8C%E8%80%8C%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC%E6%97%B6%E9%80%9A%E5%B8%B8%E4%B8%8D%E4%BC%9A%E5%87%BA%E9%94%99.png)
我在使用 Cron 每秒执行一次脚本时遇到问题。
这是我的 cron 文件中的内容:
* * * * * /var/webconfig/test.sh
这是我的 test.sh 中的内容:
#!/bin/bash cd /root/python-example && pipenv run python3 tryPython.py >> /var/webconfig/log.txt 2>&1
当我正常执行脚本时,代码运行良好,而当我从 cron 调用它时,输出是:/usr/bin/python3: can't open file 'tryPython.py': [Errno 2] No such file or directory
关于如何解决这个问题有什么想法吗?
答案1
添加用户 ID 来运行脚本,只需在命令行前添加“root”即可。
* * * * * root /var/webconfig/test.sh
猫/等/crontab
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed