Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8140687
  • 博文数量: 594
  • 博客积分: 13065
  • 博客等级: 上将
  • 技术积分: 10324
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-26 16:44
个人简介

推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html

文章分类

全部博文(594)

分类: LINUX

2017-11-23 10:46:59

两种方式:
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中有效。
阅读(3373) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

Aquester2018-04-17 09:17:02

相关:
(crontab使用环静变量) http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=20682147&id=5779789
(crontab和crond分析) http://blog.chinaunix.net/uid-20682147-id-5781206.html
(Cron运行原理) http://blog.chinaunix.net/uid-20682147-id-4977039.html