我用 crontab 碰壁了...我试图设置一个 crontab 来运行一个从 ~/.bashrc 收集 4 个变量的 python 脚本
下面是我当前的 crontab。
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/bash
BASH_ENV=/home/m.bienias/.bashrc
# m h dom mon dow command
30 12,15,18 * * 1,2,3,4,5 source /home/m.bienias/.bashrc; /usr/bin/python3
/home/m.bienias/skrypty/mail_reporter/Kwanty_bez_eng.py >> /home/m.bienias/cron-log/mail_reporter.log 2>&1```
Run Code Online (Sandbox Code Playgroud)
我已经尝试source /home/m.bienias/.bashrc;过并且. /home/m.bienias/.bashrc;
知道我还会错过什么吗?请注意,我在尝试运行 crontab 的机器上不是 sudo 用户
我建议为您的工作创建一个特定的启动包装脚本。
将脚本命名为类似的名称run-Kwanty_bez_eng.sh并将其存储在其中/home/m.bienias/skrypty/mail_reporter/
该脚本负责设置环境并启动作业,大致内容如下:
#!/usr/bin/env bash
# set environment
source /home/m.bienias/.bashrc
# start job
/usr/bin/python3 /home/m.bienias/skrypty/mail_reporter/Kwanty_bez_eng.py
Run Code Online (Sandbox Code Playgroud)
...这最终使您可以更好地控制环境甚至错误处理。
我进一步建议将对你的工作的依赖脱钩.bashrc。由于作业依赖而可能出现的问题.bashrc是,对 的更改可能.bashrc会导致作业失败或行为不正确,并且.bashrc就其所服务的职责而言,它是一个繁忙的文件。因此,最好构建一个特定于作业的环境文件,其中仅包含执行作业所需的最少变量。
| 归档时间: |
|
| 查看次数: |
4923 次 |
| 最近记录: |