无法使用 crontab 和启动应用程序运行 python 脚本

无法使用 crontab 和启动应用程序运行 python 脚本

我有一个简单的 python 脚本,它将文件的日期与当前日期进行比较并在屏幕上打印一些内容。我想在每次登录时执行此脚本。我尝试将脚本添加到 Ubuntu 中的启动应用程序中,但没有成功。我尝试创建一个包含“python3 code.py”的 .sh 文件并将此 sh 文件传递​​给 crontab(通过使用crontab -e命令@reboot /passtofile/script.sh),但我没有得到所需的输出。我该怎么办?

答案1

通过cron、运行的作业crontab不会在桌面上的同一运行时环境中运行。您的任何PATH更改或其他环境变量设置都不会自动传播到您的cron作业。例如,没有$DISPLAY,因此 GUI 程序需要特殊处理(阅读man xhost)。

cron人们可以在crontab文件 Read中为所有作业设置环境变量man 5 crontab

echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias查看每个环境中的结果 。

由于command该行的一部分crontab默认由 解释/bin/sh,其语法比 更简单/bin/bash,因此我建议command调用一个bash脚本(可执行、已安装、以 开头#!/bin/bash)来设置环境,然后调用所需的程序。

相关内容