热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

crontab启动进程错误:standardinmushbeatty

我在crontab写的内容是:#DONOTEDITTHISFILE-editthemasterandreinstall.#(tmpcrontab.3516insta
我在crontab写的内容是:

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.3516 installed on Mon Mar 21 10:32:11 2005)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
SHELL=/bin/bash
HOME=/home/oracle
PATH=/usr/kerberos/bin/:/usr/local/bin:/usr/bin:/bin:/usr/sbin/bin:/sbin:/usr/X11R6/bin:/home/oracle/OraHome1/bin
LOGNAME=oracle
LD_ASSUME_KERNEL=2.4.1
ORACLE_BASE=/home/oracle/OraHome1/
ORACLE_HOME=/home/oracle/OraHome1/
ORACLE_TERM=xterm
*/5 * * * * su - oracle -c '/home/oracle/process_up'

错误是:standard in mush be a tty

假如我直接使用*/5 * * * * /home/oracle/process_up
因为我使用pro*c连接数据库,数据库会连接不上,请帮忙

10 个解决方案

#1


standard in must be a tty
意思应该是说stdin(标准输入设备)必须是一个tty(虚拟终端,就是人机交互的接口)

su - oracle ....  #你这里使用了标准输入 '-'  但因为crond守护启动的进程或shell并没有tty,所以报这个错。

你加好
SHELL=/bin/bash
HOME=/home/oracle
LOGNAME=oracle
就行了
其它变量应该会从oracle用户目录下的.bash_profile读取不用,这里设置,这里设.bash_profile里没有的变量较好。
 
然后试着直接用*/5 * * * * /home/oracle/process_up &> myerror.log试试,看看这种情况下出什么错,

另外连不上数据库,不一定是crontab造成的,看看其他原因

#2


ORACLE_TERM=xterm这一句去掉试试

#3


up

#4


还是没有搞好,大家帮我看看:
我的crontab内容:
*/5 * * * * /home/oracle/process_up

我的脚本process_up内容:
SHELL=/bin/bash
HOME=/home/oracle
#PATH=/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin/bin:/sbin:/usr/X11R6/bin:/home/oracle/OraHome1/bin
LOGNAME=oracle
#LD_ASSUME_KERNEL=2.4.1
#ORACLE_BASE=/home/oracle/OraHome1
#ORACLE_HOME=/home/oracle/OraHome1
#ORACLE_TERM=xterm
STR=`ps -A | grep atm_comm`
LEN=${#STR}
SUB=${STR:LEN - 8:8}
if [ "$SUB" != "atm_comm" ]; then
/home/oracle/wangds/source/atm_comm /home/oracle/wangds/source/atm_comm_config.cfg
else
echo "atm_comm find"
fi 

STR=`ps -A | grep atm_smi_deal`
LEN=${#STR}
SUB=${STR:LEN - 12:12}
if [ "$SUB" != "atm_smi_deal" ]; then
/home/oracle/wangds/smi_deal/atm_smi_deal /home/oracle/wangds/smi_deal/atm_comm_config.cfg
else
echo "atm_smi_deal find"
fi

进程启动后连接数据库错误
错误提示:
错误号:   -12154
错误内容: Error while trying to retrieve text for error ORA-12154

#5


这个错误是:
ORA-12154: TNS: 无法处理服务名

可能你没启动TNS,或服务名没配好

#6


这个错误是:
ORA-12154: TNS: 无法处理服务名

可能你没启动TNS,或服务名没配好
------------------------------
不是这个

我查到另一个问题,直接使用root用户执行脚本也连接不了数据库,只有oracle用户可以的

#7


顶一下,升星了,不抢分了,今天没时间仔细看了……

#8


你用root直接执行
su - oracle -c '/home/oracle/process_up'
正常吗?
你的脚本写的太复杂啦
仔细看会累死人的

#9


我测试了一下,
ORACLE_HOME必须被设到crontab里,不会从当前用户的bash环境读取,这里我更正一下我前面所说的,脚本如下:
# 这个脚本是指/etc/crontab
SHELL=/bin/bash
LOGNAME=oracle
HOME=/home/oracle
#输出写到/var/spool/mail/oracle文件
MAILTO=oracle
ORACLE_HOME=/home/oracle/OraHome1

#注意这里必须要有用户名oracle
*/5 * * * * oracle /home/oracle/process_up

另外你在pro C里的连接是用
exec sql connect ... using : 吗?
如果是必须要保证当前的shell里
$ORACLE_HOME/network/admin下面必须存在正确的tnsname.ora,其中包含正确的tns服务名和连接串


你也可以用(root用户执行)
#crontab -u oracle -e
来只为oracle用户添加crontab,位于/var/spool/cron 下名为oracle的文件。这条命令自动打开vi,并将其保存到/var/spool/cron下名为oracle的文件,可以立刻生效
该文件的格式和系统范围的/etc/crontab基本一样,只有一点:用户的crontab文件(/var/spool/cron)执行的命令行,时间后面的域不能有用户名,如:
*/5 * * * * /home/oracle/process_up
而/etc/crontab必须要有用户名

#10


Ropyn(剑心) 
谢谢,你的答案是正确的,不是时间错误了,我前些天搞好了,和你说的一样的,感谢你,我想你帮我太多了,我应该揭贴了

推荐阅读
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • flea,frame,db,使用,之 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 在Linux系统中,许多应用程序以源代码的形式提供,这给安装带来了挑战。本文旨在介绍一种简化源码软件安装流程的方法,帮助用户更加轻松地完成安装。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • Kafka入门指南
    本文将详细介绍如何在CentOS 7上安装和配置Kafka,包括必要的环境准备、JDK和Zookeeper的配置步骤。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 在开发板的启动选项中看到如下两行:7:LoadBootLoadercodethenwritetoFlashviaSerial.9:LoadBootLoadercodethenwri ... [详细]
author-avatar
假装坚持-我很不爽_547
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有