crontab使用环境变量
2017-11-23 10:47
141 查看
两种方式:
1)直接在crontab中定义变量,如:
A=123
* * * * * echo $A > /tmp/a.txt
注意在定义变量时不能使用$引用其它变量,如下面的做法错误:
A=123
B=$A
2)在/etc/environment中定义变量
此文件定义变量的格式为:NAME=VALUE,和crontab相关,也不能使用$引用其它变量。
操作系统在登录时使用的第一个文件是/etc/environment文件,/etc/environment文件包含指定所有进程的基本环境的变量。
注意,千万不要有“PATH=$PATH:/usr/local/jdk/bin”这样的用法,这将导致系统无法启动。
技巧:
想保持多台机器的crontab一致,但变量值不完全相同,
这个时候可以考虑将变量配置在/etc/environment中,这样crontab就可以相同了。
如,机器1:
A=123
机器2:
A=456
两者的crontab配置:
* * * * * echo "$A" > /x.txt
一般不建议直接修改/etc/environment,而可采取在目录/etc/profile.d下新增一个.sh文件方式替代。
但如果想crontab中生效,则只能修改/etc/environment,经测试/etc/profile.d方式不起作用。
注意:在/etc/environment设置的变量,在shell中并不生效,但crontab中有效。
1)直接在crontab中定义变量,如:
A=123
* * * * * echo $A > /tmp/a.txt
注意在定义变量时不能使用$引用其它变量,如下面的做法错误:
A=123
B=$A
2)在/etc/environment中定义变量
此文件定义变量的格式为:NAME=VALUE,和crontab相关,也不能使用$引用其它变量。
操作系统在登录时使用的第一个文件是/etc/environment文件,/etc/environment文件包含指定所有进程的基本环境的变量。
注意,千万不要有“PATH=$PATH:/usr/local/jdk/bin”这样的用法,这将导致系统无法启动。
技巧:
想保持多台机器的crontab一致,但变量值不完全相同,
这个时候可以考虑将变量配置在/etc/environment中,这样crontab就可以相同了。
如,机器1:
A=123
机器2:
A=456
两者的crontab配置:
* * * * * echo "$A" > /x.txt
一般不建议直接修改/etc/environment,而可采取在目录/etc/profile.d下新增一个.sh文件方式替代。
但如果想crontab中生效,则只能修改/etc/environment,经测试/etc/profile.d方式不起作用。
注意:在/etc/environment设置的变量,在shell中并不生效,但crontab中有效。
相关文章推荐
- 在java.ext.dirs中使用环境变量导致crontab执行不成功的问题及解决
- Linux中crontab的坑爹环境变量问题(与系统使用不一样的变量环境)
- crontab中使用环境变量的方法
- crontab 环境变量的使用方法
- Linux下通过crontab调度脚本时脚本所使用的环境变量问题
- crontab 环境变量的使用方法
- crontab中使用环境变量的方法(手动执行shell脚本可以,在定时任务中不行)
- Linux Shell脚本系列教程(四):使用函数添加环境变量
- gcc使用的一些环境变量
- ldconfig使用与环境变量设置
- 命令行快速进阶(四)使用环境变量
- Cloud Foundry中DEA启动应用实例时环境变量的使用
- 环境变量PATH,cp命令、mv命令和查看文档命令cat/more/less/head/tail使用
- WinCE 系统中环境变量的设定和使用方法
- Get Environment Strings by injection[使用dll注入来获取所有的环境变量包括临时环境变量]
- 【ZYNQ LINUX】使用问题04 ubuntu12 环境变量修改错误,不能进入root 修改的解决办法
- Jenkins内置环境变量的使用
- 设置PATH环境变量,及CRegKey类的使用
- 由crontab执行expect脚本问题引发的--crontab环境变量问题
- Ubuntu 配置Java环境变量后 使用Java -version 提示 java已包含在下列软件包中 问题的解决方法