美文网首页
crontab环境变量读取

crontab环境变量读取

作者: 是阿离 | 来源:发表于2017-09-26 16:46 被阅读0次

问题

前期使用crontab定时执行bash shell脚本时,都通过在shell一开始生效环境变量来避免脚本执行失败,自己常用的环境变量为:

source /home/francis/.bash_profile
source /etc/profile

现在有俩疑问:
1、crontab是用哪个用户执行shell脚本
2、login主机时读取环境变量的顺序

解决

问题一 、crontab是用哪个用户执行shell脚本

每个用户都可以拥有自己的crontab,但只有root用户能进行crontab的停启。
该用户是否可以crontab可以通过/etc/cron.deny/etc/cron.allow 来进行管理。该用户不可crontab情况有:

  • /etc/cron.deny/etc/cron.allow 文件都不存在(该情况只能root用户执行crontab)
  • /etc/cron.deny存在,用户名在文件中
  • /etc/cron.allow存在,用户名不在文件中

通过简单bash shell脚本对crontab用户进行验证:(当前用户francis

#!/bin/bash

echo `whoami` > 绝对路径/test/hi_out
echo $LANG >> 绝对路径/test/hi_out
  • 定时执行输出结果为:

      francis
      [空]
    
  • 直接执行输出结果为:

      francis
      zh_CN.GBK
    

可以看出当前用户的crontab定时是用当前用户执行,只是没读取环境变量。

login主机时读取环境变量的顺序
login读取环境变量顺序

可以看出login模式下,crontab要生效的环境变量都会自动执行。

参考文章

Linux 登陆shell,交互shell以及环境变量读取顺序

相关文章

  • ubuntu下crontab默认编辑器从nano修改为vim

    ubuntu下crontab的默认编辑器是nano,更喜欢用vim编辑。当crontab程序启动时,会读取环境变量...

  • crontab环境变量读取

    问题 前期使用crontab定时执行bash shell脚本时,都通过在shell一开始生效环境变量来避免脚本执行...

  • Linux 学习笔记(十):Linux 计划任务

    crontab 命令简介 命令从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。通常,...

  • Linux 环境变量配置

    Linux读取环境变量 读取环境变量的方法: export命令显示当前系统定义的所有环境变量 echo $PATH...

  • mysql自动备份

    编写脚本 加入以下内容 vi /etc/crontab 重新读取配置 重载服务 crontab -l查看任务 cr...

  • Linux 设置定时任务crontab命令

    1、 crontab命令概念 crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其...

  • Linux服务器定时任务

    crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,...

  • Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于...

  • Linux 定时任务crontab

    1、crontab命令概念 crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放...

  • Linux 的 Crontab 定时任务

    Crontab Crontab命令常见于Unix和类Unix的操作系统之中,该命令从标准输入设备读取指令,并将其存...

网友评论

      本文标题:crontab环境变量读取

      本文链接:https://www.haomeiwen.com/subject/ddnsextx.html