`

Crontab 定时执行任务的环境变量问题

 
阅读更多

今天写了一个脚本文件,有用到Python3中time库的localtime函数。在单独执行该脚本文件时候,可以支持获取服务器date时间。但是放在Crontab里定时执行的时候,发现获取的是格林尼治时间。明明系统已经更改到北京时间,为什么还会显示格林尼治时间呢?

 

怀疑是crontab执行时和单独执行py脚本时候,系统环境变量不一致。

 

最终原先直接在crontab里定时执行py脚本,改为定时执行shell文件,在shell文件里通过

 

#!/bin/sh
source /etc/profile

 记载用户环境变量,再执行py文件,成功获取到北京时间。

 

分享到:
评论

相关推荐

    易语言 Crontab 定时任务执行模块 v1.2 支持单位秒 也可做计时器源码

    这个易语言 Crontab 定时任务执行模块 v1.2 则是将这种功能移植到了易语言环境中,让开发者能够方便地在易语言程序中实现定时任务的功能。 该模块特别之处在于支持秒级别的精度,这意味着你可以设置更为精确的定时...

    Ubuntu crontab 定时执行php脚本文件

    3. **环境变量问题**:如果在Crontab任务中遇到环境变量未定义的问题,可以在脚本第一行添加`. /etc/profile`或`. ~/.bashrc`来加载环境变量。 通过上述步骤,你就可以在Ubuntu环境下成功地使用Crontab来定时执行...

    Ubuntu-使用crontab定时任务

    - 可以在 crontab 文件中设置环境变量,使得定时任务能访问到这些变量。 ```bash #!/bin/bash MY_VAR="example" * * * * * echo $MY_VAR > /tmp/test.txt ``` 2. **脚本参数传递** - 如果需要向脚本传递参数...

    Linux定时脚本crontab中文乱码.docx

    这样,crontab 执行时将使用正确的语言环境变量,输出结果中的中文字符将被正确地处理,不再出现乱码问题。 知识点总结: 1. Linux 系统中的定时脚本 crontab 可以用来执行特定的命令或脚本。 2. 使用 crontab ...

    suse linux crontab 任务计划 sh文件不能执行分析

    - `crontab` 在执行任务时,它没有用户的登录环境,因此一些依赖于特定环境变量的命令可能无法工作。例如,`$PATH` 变量可能不包含shell脚本中引用的命令路径。在`crontab` 文件中,可以通过设定`PATH` 来解决这个...

    linux采用crontab定时跑任务.docx

    该文件包含环境变量设置,如SHELL(默认使用Bash shell)、PATH(定义命令搜索路径)、MAILTO(设定任务执行信息的邮件接收者,空则表示不发送)以及HOME(执行命令时的主目录)。此外,`/etc/cron.hourly`、`/etc/...

    linux采用crontab定时跑任务.pdf

    系统任务调度集中在/etc/crontab文件中,这个文件包含了环境变量的配置以及定时任务的定义。例如,SHELL变量指定使用哪个shell(这里是bash),PATH变量指定了执行命令的搜索路径,MAILTO变量则指定了任务执行信息的...

    thinkPHP3.2.3定时执行任务

    需要注意的是,为了使Cron能正确访问ThinkPHP项目,你需要确保PHP环境变量和URL路由设置正确。 此外,对于一些不需要实时响应的后台任务,还可以考虑使用消息队列(如RabbitMQ或Redis)和工作进程模型,这样可以...

    thinkphp 5.1 定时任务,Crontab 计划任务-think-cron.zip

    1. 创建定时任务:首先,在你的ThinkPHP项目中创建一个控制器,比如`CronController`,并在此控制器中定义需要定时执行的方法。 2. 配置路由:在`route.php`文件中,为你的定时任务方法设置一条路由规则,以便Cron...

    crontab定时任务服务详解.docx

    ### Crontab定时任务服务详解 #### 一、Crontab简介 Crontab是Linux系统中的一个重要的工具,用于管理周期性执行的任务。通过Crontab,用户可以轻松地安排脚本或命令在特定时间自动执行,无需手动干预。 #### 二...

    Liunx系统定时删除任务,定时清理日志,定时清理任务

    在Linux系统中,定时任务是运维工作中不可或缺的一部分,它能够帮助我们自动化执行一系列维护操作,例如定期删除旧日志、清理缓存等。本篇文章将深入讲解如何利用Linux的crontab工具设置定时删除任务,特别是针对...

    linux定时执行crontab.pdf

    Linux系统的`crontab`是用于定时执行任务的工具,它是Unix/Linux环境中的一种任务调度命令。通过`crontab`,用户可以设置周期性被执行的任务,比如定期备份、清理日志、执行脚本等。本文将详细介绍`crontab`的使用...

    crontab定时任务不执行的一些原因总结

    **Crontab定时任务不执行的原因及解决方案** 在Linux系统中,`crontab`是一个强大的定时任务管理工具,能够帮助我们自动化执行一系列任务。然而,有时我们会遇到`crontab`定时任务不执行的问题,这可能是由于多种...

    Linux定时执行程序--Crontab借鉴.pdf

    Linux定时执行程序,尤其是通过Crontab实现自动化任务,是一种常用的方法来确保系统按照特定的时间间隔执行特定的任务。Crontab是Unix/Linux操作系统中的一个守护进程,它允许用户定义一系列的任务,这些任务会在...

    Linux定时执行程序Crontab.docx

    Crontab 是 Linux 系统中一个非常重要的工具,可以用来定时执行特定的命令或程序。它允许用户在指定的时间点执行特定的任务,从而实现自动化管理和备份等功能。 Crontab 的基本语法是以五个星号(*)分隔的六个字段...

    linux定时执行crontab.docx

    在Linux系统中,`crontab`是基于`cron`服务来工作的,`cron`是一个后台守护进程,负责周期性地执行任务。 要使用`crontab`,首先需要确保`cron`服务正在运行。你可以通过`service crond status`来检查`cron`服务的...

    Linux定时执行程序Crontab.pdf

    Linux定时执行程序Crontab是Linux系统中一个强大的任务调度工具,用于自动化执行特定的脚本或命令。在Linux环境中,如果你需要定期执行诸如数据备份、数据库更新等任务,Crontab是不可或缺的。以下是对Crontab及其...

    Linux下定时执行脚本

    Linux 下的定时执行脚本可以通过 crontab 文件来实现,通过设置环境变量、crontab 文件格式、星号(*)和连字号(-)的使用、步进设置、注释行、定期执行任务和用户定时执行等来实现各种定时执行任务。

Global site tag (gtag.js) - Google Analytics