免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1720 | 回复: 7
打印 上一主题 下一主题

菜鸟关于shell的低级问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-14 06:52 |只看该作者 |倒序浏览
我想编写一个自动执行的脚本

内容如下
#!/bin/sh

su - oracle

cd $ORACLE_HOME/bin

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

exp NC51/1 owner=NC51 file=/databak/NC`date +%Y%m%d`.dmp log=/databak/NC`date +%Y%m%d`.log

我将其保存在/databak/back.sh中

然后我crontab -e  

10 5 * * * /databak/back.sh

这样写好像不对,请告诉我哪里出了问题,应该怎么改,改的原因

非常感谢

论坛徽章:
0
2 [报告]
发表于 2009-04-14 07:59 |只看该作者
oracle  对环境变量的要求比较多
cron里  10 5 * * * cd /databak/ && sh back.sh
还是不行的话 脚本里再多设置点环境变量 但就这么一句话 基本也用不着。

论坛徽章:
0
3 [报告]
发表于 2009-04-14 08:24 |只看该作者
还是没有自动执行呀

我将su及以下内容手工执行的话是可以执行出来的

为什么呢是脚本有误,还是crontab设置有误?

论坛徽章:
0
4 [报告]
发表于 2009-04-14 08:31 |只看该作者
su用的不对

论坛徽章:
0
5 [报告]
发表于 2009-04-14 08:34 |只看该作者
原帖由 ywlscpl 于 2009-4-14 08:31 发表
su用的不对



请讲明

论坛徽章:
0
6 [报告]
发表于 2009-04-14 08:41 |只看该作者
su写在crontab里

论坛徽章:
0
7 [报告]
发表于 2009-04-14 08:42 |只看该作者
原帖由 li2002 于 2009-4-14 08:41 发表
su写在crontab里

?

请问一下,怎么写?

我还不知道呢,麻烦你告诉我

论坛徽章:
0
8 [报告]
发表于 2009-04-14 08:48 |只看该作者

回复 #5 htx_80 的帖子

如果某个命令cmd需要要以用户user的环境来运行,可以用su - user -c "cmd",这样不会像su - user这样开始一个交互式的shell。

man su
       -c, --commmand=COMMAND
              pass a single COMMAND to the shell with -c

info su
`-c COMMAND'
`--command=COMMAND'
     Pass COMMAND, a single command line to run, to the shell with a
     `-c' option instead of starting an interactive shell.

[ 本帖最后由 ywlscpl 于 2009-4-14 09:43 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP