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

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

加入到crontab中会执行失败

crontab内容如下

[dbserver@db20 ~]$ crontab -l
32 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/bash
source /home/dbserver/.bash_profile

最终的shell文件内容为

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

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

完结!

关于linux环境下crontab命令环境变量的问题的更多相关文章

  1. windows 环境和linux环境下 ping命令的区别:

    Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可 ...

  2. 在 Windows 和 Linux(Gnome) 环境下 从命令界面打开网页的方式

    1.在 Windows 中 通过命令 可以打开网页是很简单的: start http://www.baidu.com 或 start iexplorer http://www.baidu.com 第二 ...

  3. Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1

    交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...

  4. 【android开发】如何在Linux平台下安装JDK环境

    原文:http://android.eoe.cn/topic/android_sdk Linux平台JDK安装 本文主要描述如何在Linux平台下安装JDK环境.进入网页:http://www.ora ...

  5. linux系统下深度学习环境搭建和使用

    作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...

  6. centos环境下输入命令不能有中文那么我怎么插入中文数据到数据库

    centos环境下输入命令不能有中文那么我怎么插入中文数据到数据库 如下图: 首先查看是否安装了中文语言支持组件 yum grouplist 没有的话安装 yum install Chinese Su ...

  7. win 环境下 node.js环境变量

     在win 环境下 node.js环境变量有两种情况:  (1)开发环境(development):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告. ...

  8. [r]Ubuntu Linux系统下apt-get命令详解

    Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...

  9. Ubuntu Linux系统下apt-get命令详解

    整理了Ubuntu Linux操作系统下apt-get命令的详细说明,分享给大家.常用的APT命令参数: apt-cache search package 搜索包 apt-cache show pac ...

随机推荐

  1. 洛谷 P4139 上帝与集合的正确用法

    题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”.“α”被定义为“元”构成的集合.容 ...

  2. 【BZOJ4405】【WC2016】挑战NPC(带花树)

    [BZOJ4405][WC2016]挑战NPC(带花树) 题面 BZOJ 洛谷 Uoj Description 小N最近在研究NP完全问题,小O看小N研究得热火朝天,便给他出了一道这样的题目: 有n个 ...

  3. 【BZOJ4011】【HNOI2015】落忆枫音(动态规划)

    [BZOJ4011][HNOI2015]落忆枫音(动态规划) 题面 BZOJ 洛谷 Description 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜 ...

  4. The meterprter basic commonds

    Using Meterpeter commands Since the Meterpreter provides awhole new environment, we will cover some ...

  5. 「CodePlus 2017 11 月赛」可做题

    这种题先二进制拆位,显然改的位置只有每一段确定的数的开头和结尾,只需要对于每一个可决策位置都尝试一下填1和0,然后取min即可. #include<iostream> #include&l ...

  6. mac 的全文搜索

    grep -Rni "view.proptypes.style" *  需要切换到要搜索的目录在运行

  7. Error : getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443

    环境 阿里云 centos7 node v8.11.3 npm 5.6.0 错误 npm update 解决 ping registry.npmjs.org 发现https://registry.np ...

  8. python requests https 访问出错

    错误提示: /usr/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:100: InsecurePla ...

  9. CSS全局声明*与body的区别

    通常在写CSS前,为了保证兼容性及展示效果的一致,先会清除浏览器默认样式.此时有两种用法比较常用:1.*{};  2.body{}; 之前我比较偏好于用*{},比较便于把控样式的设置.一直也没试过bo ...

  10. C11关键字&字面值改善

    1.原始字面值改善 原始字面值可以直接表示字符串的实际含义,但是一些特殊字符就需要转义. std::string str = "D:\A\B\test.txt"; std::cou ...