`
nubix
  • 浏览: 90782 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

解决crontab环境变量不全

阅读更多
前阵子写一些脚本,用crontab运行的时候才发现crontab的运行方式是non-interactive,环境变量不全。

因为工作繁忙,所以只能临时解决一下。

最近写脚本多了,忽然有所领悟。

其实解决方案很简单,利用 su - user 这个命令就可以了

所以运行的时候就变成: echo CMD | /bin/su - user

这样就绕过了环境变量的设置。
分享到:
评论

相关推荐

    Linux Crontab 获取环境变量配置解析

    然而,当你尝试在Crontab任务中使用环境变量时,可能会遇到一些问题,因为Crontab启动的命令并不像交互式登录那样加载完整的环境配置。本文将深入探讨如何在Crontab中正确地获取和设置环境变量。 首先,我们需要...

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

    通常情况下,用户环境中会设置一些环境变量,例如语言环境变量 LANG,但是当 crontab 执行时,这些环境变量将失效。因此,在 crontab 环境中,无法正确地处理中文字符,导致输出结果出现乱码。 解决方案: 为了解决...

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

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

    在windows下配置crontab

    1. 更新系统的PATH环境变量,将Cygwin的bin目录添加到其中,例如`D:\appmes\Cygwin\bin`。 2. 安装并启动`cron`服务,使用`cygrunsrv`命令进行配置,使其即使在Cygwin命令窗口关闭后仍能运行,并设置为开机启动。 3....

    php解决crontab定时任务不能写入文件问题的方法分析

    通过上述分析,我们可以得出解决crontab定时任务不能写入文件问题的几个步骤: 1. 使用绝对路径代替相对路径。使用`__DIR__`魔术常量获取当前脚本所在的目录,确保文件路径在任何环境下都是正确的。 2. 设置合适的...

    laravel 解决crontab不执行的问题

    而在crontab中,如果不显式指定PHP路径,系统会使用PATH环境变量中的第一个路径来执行命令,这可能导致与预期不同的PHP版本被调用。 为解决这一问题,在crontab中应显式指定正确的PHP路径。例如,如果项目需要使用`...

    Linux中crontab输出重定向不生效问题的解决方法

    5. **使用外部脚本处理日志**:创建一个外部脚本,用来设置环境变量、打开日志文件并执行`crontab`任务,然后将此外部脚本添加到`crontab`列表中。 6. **使用`nohup`或`screen`**:`nohup`命令可以让命令忽略挂断...

    crontab执行时间与系统时间不一致问题解决

    4. **环境变量**:`crontab`环境中可能缺少某些环境变量,如`$PATH`,导致命令无法执行。需要在`crontab`文件中显式设置必要的环境变量。 5. **脚本错误**:如果`crontab`执行的是脚本,确保脚本本身没有错误,且...

    crontab无法执行php的解决方法

    3. **环境变量问题**:`crontab`执行时不通过Apache或Nginx,因此像`$_SERVER`和`$_ENV`这样的环境变量无法使用。检查并移除PHP代码中依赖这些变量的部分。 4. **路径问题**:PHP代码中如果使用了相对路径,如`...

    Ubuntu crontab 定时执行php脚本文件

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

    Ubuntu计划任务_crontab

    - 检查环境变量是否正确传递给crontab环境。 通过上述步骤,你可以有效地在Ubuntu系统上使用crontab来设置定时任务,自动化执行各种脚本和程序。这对于提高工作效率、减少重复劳动具有重要意义。

    Linux 环境变量详解及实例

    在crontab条目中加入以下命令可以解决大部分环境变量缺失的问题: ```bash 30 12 * * * source ~/.bashrc && cd /home/work/mydir && ./myproj ``` 这段命令首先通过`source`加载用户的`.bashrc`文件,确保所有必要...

    Ubuntu-使用crontab定时任务

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

    crontab定时任务服务详解.docx

    4. **环境变量未正确设置**:某些命令可能依赖于特定的环境变量。确保这些变量在Crontab执行时可用。 5. **日志记录**:启用Crontab的日志记录功能可以帮助诊断问题。可以在命令前加上`>> /var/log/cron.log 2>&1`...

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

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

    Linxu、AIX系统下Crontab任务切换脚本.docx

    【Linxu、AIX系统下Crontab任务切换脚本】 Crontab是Linux和AIX等类Unix系统中的一个调度工具,用于自动化周期性的任务。...在多用户环境下的定时任务管理中,`ha_crontab.sh`脚本提供了一个实用的解决方案。

    Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路

    多方查找发现Shell脚本中的Java命令需要引入环境变量方可正常执行。因此做了一下修改,脚本如下(仅供参考): 1、crontab执行配置 * * * * * cd /项目目录 && ./auto_start.sh >> /log/auto.out 2、Shell脚本 #!/...

    deepin使用crontab自动更换壁纸

    例如,crontab执行时可能没有正确的环境变量,比如`DBUS_SESSION_BUS_ADDRESS`,这是Deepin系统中设置壁纸所必需的。因此,需要在脚本中添加如下代码来获取并设置这个环境变量: ```python # 获取dde-session的PID ...

    linux下使用crontab实现定时PHP计划任务失败的原因分析

    3. **设置环境变量**:你可以设置 `CRON_ENV` 环境变量来传递必要的环境信息,如包含文件的路径,数据库连接等。然后在PHP脚本中使用这些环境变量。 4. **使用shell脚本封装**:创建一个shell脚本来设置环境变量,...

Global site tag (gtag.js) - Google Analytics