博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于linux环境下crontab命令环境变量的问题
阅读量:5453 次
发布时间:2019-06-15

本文共 1331 字,大约阅读时间需要 4 分钟。

这几天在弄数据库备份的事情,其中涉及到使用crontab命令自动执行shell脚本的问题,发现将写好的数据库导出脚本export.sh

1  ###############################################################################2  extfile=`date +"%m_%d_%H_%M"`3  ###############################################################################4 exp aa/aa  file=/home/oracle/expfile/aafulltmp_$extfile.dmp constraints=y owner=aa log=n5 exp bb/bb  file=/home/oracle/expfile/bbfulltmp_$extfile.dmp constraints=y owner=bb log=n

加入到crontab中会执行失败

crontab内容如下

[dbserver@db20 ~]$ crontab -l32 2 * * * /home/dbserver/exportdb.sh

根据crontab执行后会给用户发送一封邮件中的提示显示

/home/dbserver/export.sh: line 4: exp: command not found/home/dbserver/export.sh: line 5: exp: command not found

看起来不是crontab的问题,而是没有找到exp命令,说明是环境变量的问题,crontab执行时环境变量与直接执行是不一样的,去网上找到了解决办法如下

在shell脚本前面加入

#!/bin/bashsource /home/dbserver/.bash_profile

最终的shell文件内容为

############################################################################### extfile=`date +"%m_%d_%H_%M"` ################################################################################!/bin/bashsource /home/dbserver/.bash_profileexp aa/aa  file=/home/oracle/expfile/aafulltmp_$extfile.dmp constraints=y owner=aa log=nexp bb/bb  file=/home/oracle/expfile/bbfulltmp_$extfile.dmp constraints=y owner=bb log=n

至此成功执行,还有一种方法是将exp命令写成绝对路径

完结!

转载于:https://www.cnblogs.com/live365wang/p/4153076.html

你可能感兴趣的文章
git撤销操作区别
查看>>
二十三、SAP中内表的修改
查看>>
下沙的沙子有几粒?
查看>>
大杂烩 -- 四种生成和解析XML文档的方法详解
查看>>
在 ios 中的日期格式
查看>>
给li设置float浮动属性之后,无法撑开外层ul的问题。
查看>>
ZLXOI2015Day1劣质题解
查看>>
Android上使用LibUSB
查看>>
黑马程序员------String和StringBuffer、StringBuilder
查看>>
仿百度文库网站源码,文库网站定制开发
查看>>
Centos yum 源
查看>>
/dev/mem和/dev/kmem的区别
查看>>
Python-01:我为什么要学Python
查看>>
LeetCode 297. 二叉树的序列化与反序列化
查看>>
私钥、公钥、数字签名和数字证书
查看>>
关于SocketTcp通讯
查看>>
Python3 - 随便说一下
查看>>
25.不改变原生数据的STL algorithm
查看>>
Ajax缓存,减少后台服务器压力
查看>>
SQL数据库开发知识总结:基础篇
查看>>