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 ...
随机推荐
- 利用jenkins+saltstack+sh 修改nginx配置文件并重新加载
jenkins的配置(这里作用只是当做界面使用,利用它来管理执行salt命令) 1.构建操作来执行shell脚本 (pillar可以配置灵活的参数) saltstack 的 sls文件编写 nginx ...
- linux arm-linux-gcc 安装编译
1,将 .tgz 安装包通过SSH传至ubuntu 2,tar -zxvf arm-linux-gcc.tgz 解压 3,配置环境变量(由于鄙人只需其中一个用户使用,所以直接再其主目录) ...
- 免费证书https://lamp.sh/ssl.html
https(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的 http 通道,简单讲是 http 的安全版.即 ht ...
- VS2013一次替换变量名
插件下载地址:https://visualstudiogallery.msdn.microsoft.com/164904b2-3b47-417f-9b6b-fdd35757d194 该插件目前只支持: ...
- PHP swoole process的使用
引入背景:假如我们每天有10000个订单生成,需要同步到仓储系统中去,以前做法是开启一个crontab去跑这些任务,但是发现总有感觉同步效率低,间隔时间都是分钟级别的. 解决方案测试:我们将同步订单的 ...
- (O)jquery:e.target和this的区别(如何使事件委托后,被选元素的子元素不被选中)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Java中关键字static的使用
static 关键字 1).static只能修饰成员变量或成员方法,所有非静态是对象相关的,所有静态是类相关的. 2)被static修饰的成员变量成员方法独立于该类的任何对象,它不依赖类的特定的实例, ...
- Ubuntu12.04下Qt连接MySQL数据库
本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件, ...
- 通过修改Delphi 的 RTL,加快Delphi开发的应用程序速度和稳定性
RT 具体见PDF 看了不后悔,只给高手准备的. 神呐,偶看看是虾米东东
- swift 中使用weak self
request.responseString(encoding: NSUTF8StringEncoding) {[weak self] (res) -> Void in if let stron ...