linux 定时任务的调试20230919

python脚本的linux定时任务

crontab经常会遇到的问题就是环境变量的加载不到的导致脚本运行失败的问题test

在/home/pyapp/anaconda3/envs/cs_test_env/bin/python路径中指定了你的Conda虚拟环境中的Python可执行文件。

我们直接在cron作业中调用了Python脚本,而不是使用source activate

cron的设置

bash 复制代码
crontab -e
bash 复制代码
SHELL=/bin/bash
PATH=/usr/bin:/bin:/home/pyapp/anaconda3/bin
31 21 * * * /home/pyapp/anaconda3/envs/cs_test_env/bin/python /home/pyapp/workspace/autotest.py

定时任务的调试方法

临时修改定时任务为每分钟执行

临时更改 cron 时间:如果您确实需要测试脚本在 cron 中的实际行为,可以临时将 cron 时间设置为每分钟一次,例如:

bash 复制代码
* * * * * /home/pyapp/script/check_sett.sh >> /home/pyapp/cron.log 2>&1

想将标准输出和错误都重定向到 /home/pyapp/cron.log

模拟测试

bash 复制代码
env -i SHELL=/bin/bash HOME=/home/pyapp USER=pyapp /home/pyapp/script/check_sett.sh >> /home/pyapp/cron.log 2>&1

这里的 >> /home/pyapp/cron.log 将标准输出追加到 cron.log 文件,而 2>&1 将标准错误也重定向到同一个文件。

相关推荐
xlq22322几秒前
高并发服务器day13
运维·服务器
Android系统攻城狮8 分钟前
Linux PipeWire深度解析之pw_stream_new调用流程与实战(四十二)
linux·运维·服务器·音频进阶·pipewire音频进阶
Ivan CloudBay9 分钟前
CDN 能完全隐藏源服务器 IP 吗?
运维·服务器·tcp/ip
蜉蝣fuyou11 分钟前
VMware多版本安装包
linux·vmware·虚拟机
不会代码的小猴11 分钟前
Linux note2
linux·笔记
AAA@峥23 分钟前
OpenStack Keystone 认证服务完整学习指南
服务器·云计算·openstack
雾里0不看花26 分钟前
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
linux·网络·tcpdump
沉迷学习 日益消瘦1 小时前
13-Ingress 生产实战
运维·kubernetes
Dawn-bit2 小时前
Linux日志处理三剑客之基础篇:(基础正则+扩展正则)
linux·运维·服务器·正则表达式·云计算·运维开发
暗影凋落2 小时前
docker-image 工具展示更详细镜像层内容
运维·docker·容器