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中有效。
crontab使用环境变量的更多相关文章
- crontab与环境变量
一个shell脚本,直接执行能成功,但是加在crontab后确怎么也执行不成功. 问题的原因是:crontab的环境变量与直接执行用户的环境变量不一样. export PATH=$PATH:/sbin ...
- crontab读取环境变量方法
crontab如果不注意的话早晚会出问题,而且这种问题一旦出一次,就会永远记得,因为这种问题很折腾人. ...
- 关于linux环境下crontab命令环境变量的问题
这几天在弄数据库备份的事情,其中涉及到使用crontab命令自动执行shell脚本的问题,发现将写好的数据库导出脚本export.sh ################################ ...
- 【linux】crontab的环境变量问题
今天遇到一个奇怪的问题,同样一个脚本,手动执行没问题,加入到crontab中,就出现无法运行的情况,第一反应是环境变量问题 环境说明: 操作系统:centos 用户:test用户通过sudo su切换 ...
- crontab的两大坑:百分号和环境变量
今天想给服务器加个自动备份mysql数据库的功能(别怪我这么久才加,阿里云每天全盘备份的,不怕丢数据库),本以为只要5分钟就能搞定的,结果入了两个大坑. 我的crontab是这样写的: * * * m ...
- Linux Crontab内环境变量与Shell环境变量的关系及解决问题的办法
为了定时监控Linux系统CPU.内存.负载的使用情况,写了个Shell脚本,当达到一定值得时候,发送邮件通知.需要用到Crontab的定时任务去执行这个脚本,但是发现通过命令(./test.sh)执 ...
- [CentOS] 解决 crontab 无法读取环境变量的问题
参考资料:http://blog.slogra.com/post-238.html 1. 问题描述 一段数据处理的 shell 程序,在 shell 中手动运行,可以正确执行.但是,把它放在 cron ...
- [转]crontab环境变量设置
原文连接:http://blog.csdn.net/zc02051126/article/details/20480289 come from http://www.360doc.com/conten ...
- Linux中crontab的坑爹环境变量问题
手动在CentOS中执行sh脚本,调用java程序,一切正常: 将该sh加入crontab中定时调度之后,挂了,完全没有执行到的感觉啊!!! 查看crontab执行日志: cat /var/log/c ...
随机推荐
- css常见问题一
[1]禁止换行.class {word-break:keep-all;white-space:nowrap;}[2]强制换行.class{word-break:break-all;}普通容器中(Div ...
- IntelliJ IDEA return null with ClassLoader.getSystemResourceAsStream(“configFilename”));
参考https://stackoverflow.com/questions/49470053/intellij-idea-return-null-with-classloader-getsystemr ...
- golang sync.Pool包的使用和一些注意地方
package main; import ( "sync" "fmt" "net" "runtime" ) //sync ...
- Spring mvc项目导出jar包无法识别正常映射问题
笔者的代码很简单,平常的配置文件,web.xml如下 <servlet> <!--名称 --> <servlet-name>springmvc</servle ...
- 求助Ubuntu16.10如何设置默认启动为字符界面
字符界面:sudo systemctl set-default multi-user.target图形界面:sudo systemctl set-default graphical.target
- linux设置系统时间和时区
1.设置系统时间 date命令将日期设置为2014年6月18日 ---- date -s 06/18/14 将时间设置为14点20分50秒 ---- date -s 14:20:50 将时间设 ...
- UI设计教程分享:电商网页页面设计常见表现手法
1.手绘插画 场景.人物以及加上故事的创意绘画 会给人梦幻若隐若现的感觉,留下深刻的印象,适合做活动页面以及宣传自已的品牌 2.简约 颜色少于三色,背景以明度偏低的颜色为主,在信息大爆炸的时代,我们 ...
- UI设计:C4D作品案例分享
中文名4D电影,外文名CINEMA 4D,研发公司为德国Maxon Computer,特点为极高的运算速度和强大的渲染插件,使用在电影<毁灭战士>.<阿凡达>中,获得贸易展中最 ...
- MS SQMServer2008R2 连接不到远程服务的解决办法
问题: MS SQMServer2008R2 连接不到远程服务的解决办法.程序提示的错误如下: [2017/02/19 17:46:21] 在与 SQL Server 建立连接时出现与网络相关的或特定 ...
- Linux下设置Apache支持Https服务
HTTPS的主要作用: 1)建立一个信息安全通道,来保证数据传输的安全性 2)确认网站的真实性 HTTPS与HTTP的区别: 1)HTTPS协议需要到ca申请证书,免费证书较少 2)HTTP是超文本传 ...