我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux中crontab的脚本不执行如何解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux中crontab的脚本不执行如何解决

本篇文章为大家展示了linux中crontab的脚本不执行如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1 、在调用 oracle 的 sqlplus 、 sqlldr 等命令工具时必须写出其全路径才能在 crontab 中执行成功,否则,虽然手动运行很正常,但一配到 crontab 上就出现异常。

2 、手动运行 shell 脚本时,可以用 sh 命令;但在 cron 中一定不能用 sh 执行命令,而要用直接的列出 shell 脚本文件的方式顺序执行。

3 、在 crontab 调用时,如果有用到数据库,最好把数据库的相关环境变量等列写出来。

4 、要在 crontab 里调度, shell 脚本中引用到的文件最好都写绝对路径。

如果是ORACLE数据库的脚本,一定要注意环境变量,例如 
PATH=$PATH:$HOME/bin 
export PATH 
export TMP=/tmp 
export TMPDIR=/tmp 
export ORACLE_BASE=/oracle/app 
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 
export ORACLE_SID=racdb1 
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH 
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 

检查crond进程是否正常

/etc/init.d/crond status  (貌似centos7版本没有这个命令)

/etc/init.d/crond start

service rsyslog status

ps -elf|grep crond

如何判断crontab是否执行,可以看这个日志/var/log/cron

如果是root用户下执行,环境变量可以设置加上这两行

. /etc/profile

. ~/.bash_profile

如果是grails进程的启动
nohup grails prod run-app -Dserver.port=xxxx --non-interactive 2>&1 > nohup.out &

为了这个脚本能成功执行,添加了N多的环境变量,

这里关于grails就添加了java相关的环境变量。

#!/bin/bash

#设置环境变量

#root用户环境变量

. /etc/profile

. ~/.bash_profile

#java环境变量

JAVA_HOME=/home/app/jdk1.7.0_71

JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=512M"

GRAILS_HOME=/home/app/grails-2.3.11

MAVEN_HOME=/home/app/apache-maven-3.0.5

export JAVA_HOME JAVA_OPTS GRAILS_HOME MAVEN_HOME

PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$GRAILS_HOME/bin:$MAVEN_HOME/bin

export PATH

#查找9898的进程ID

process_id1=$(echo $(ps -ef | grep server.port=9898 | grep -v grep | awk '{print $2}'))

process_id2=`ps -ef | grep rule-service-api1 | grep -v grep |grep -v '/home/app/rule-service-api1/restart_9898.sh'| awk '{print $2}'`

count=$(echo $(ps -ef | grep server.port=9898 | grep -v grep | awk '{print $2}'|wc -l))

#判断进程是否存在,重启该进程

if [ $count -eq 0 ];

then

cd /home/app/rule-service-api1/

sh /home/app/rule-service-api1/startup-rule.sh > /opt/restart9898_1.log 2>&1

sleep 10

echo 'start successful' >> /opt/restart9898_1.log

date >> /opt/restart9898_1.log

else

kill -9 $process_id1 $process_id2

sleep 10

cd /home/app/rule-service-api1/

sh /home/app/rule-service-api1/startup-rule.sh > /opt/restart9898_1.log 2>&1

sleep 10

echo 'kill and restart successful' >> /opt/restart9898_1.log

date >> /opt/restart9898_1.log

fi

遇到/etc/rc.local这个开机自启动,但是在里面写命令确不执行怎么办

注意:

ll /etc/rc.local

[root@test ~]# ll /etc/rc.local 

lrwxrwxrwx. 1 root root 13 Oct 23  2014 /etc/rc.local -> rc.d/rc.local

发现这是一个链接文件

[root@test ~]# ll /etc/rc.d/rc.local 

-rw-r--r-- 1 root root 696 Oct  8 11:16 /etc/rc.d/rc.local

在查看发现权限是644,并没有执行权限,原因就在这里了

赋予权限即可

chmod 755 /etc/rc.d/rc.local

上述内容就是linux中crontab的脚本不执行如何解决,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux中crontab的脚本不执行如何解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux中crontab的脚本不执行如何解决

本篇文章为大家展示了linux中crontab的脚本不执行如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1 、在调用 oracle 的 sqlplus 、 sqlldr 等命令工具时必须写出
2023-06-05

Linux中Shell脚本执行超时如何解决

这期内容当中小编将会给大家带来有关Linux中Shell脚本执行超时如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象。一般来说遇到
2023-06-16

如何解决ubuntu crontab不执行的问题

这篇文章主要讲解了“如何解决ubuntu crontab不执行的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决ubuntu crontab不执行的问题”吧!在脚本文件的第二行添加
2023-06-13

如何使用Systemd和Crontab在Linux系统中定时执行脚本

在Linux系统中,可以使用Systemd和Crontab来定时执行脚本。以下是使用这两种方法的步骤:1. 使用Systemd定时执行脚本:- 创建一个.service文件,比如my_script.service:```[Unit]Desc
2023-10-09

Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路

由于一些不可抗拒的原因,项目部署后需要定时检测项目是否正常运行,否则将执行重启命令。 在具体实施过程中发现,定时器执行无误,但是重启命令无法正常启动。多方查找发现Shell脚本中的ysLsXjava命令需要引入环境变量方可正常执行。因此做了
2022-06-04

linux注释crontab文件及crontab执行sh的坑如何解决

这篇文章主要介绍了linux注释crontab文件及crontab执行sh的坑如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux注释crontab文件及crontab执行sh的坑如何解决文章都会有
2023-07-06

怎么在Linux中使用crontab定时执行Shell脚本

今天就跟大家聊聊有关怎么在Linux中使用crontab定时执行Shell脚本,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、crontab执行配置* * * * * cd /项目
2023-06-09

Shell 脚本中重复执行如何解决

Shell 脚本中重复执行如何解决,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。简介flock 是文件锁命令,它可以保证Linux系统上进程之间安全的访问临界资源,在shell
2023-06-15

linux如何执行perl脚本

要在Linux上执行Perl脚本,可以按照以下步骤操作:1. 打开终端。2. 在终端中导航到包含Perl脚本的目录。可以使用cd命令来切换目录。3. 确保Perl脚本有执行权限。可以使用ls -l命令来查看文件权限,并使用chmod +x
2023-10-18

Linux系统中怎么使用crontab来定时执行脚本

本篇内容介绍了“Linux系统中怎么使用crontab来定时执行脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!网友突然问道的,想了很久,
2023-06-13

linux注释crontab文件及crontab执行sh的坑怎么解决

本文小编为大家详细介绍“linux注释crontab文件及crontab执行sh的坑怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux注释crontab文件及crontab执行sh的坑怎么解决”文章能帮助大家解决疑惑,下面跟
2023-07-05

linux中ssh执行脚本提示找不到文件怎么解决

当在Linux中使用SSH执行脚本时,如果提示找不到文件,可能有以下几个原因和解决方法:脚本文件不存在:确保脚本文件存在于正确的位置,并且文件名和路径是正确的。权限问题:确保脚本文件具有可执行权限。可以使用`chmod +x filenam
2023-10-25

crontab如何实现每隔多少天执行一次脚本

小编给大家分享一下crontab如何实现每隔多少天执行一次脚本,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言我们大家在工作中,经常会碰到每隔多少天/小时/分钟执行一次脚本,或某个命令的情况。如果是每隔多少小时,多少分运
2023-06-09

centOS6中使用crontab定时运行执行jar程序的脚本

1、编写一个简单的java程序public class testshell {public static void main(String[] args) {int count = 0;for (String arg : args) {Sy
2022-06-04

linux无法执行sh脚本怎么解决

如果Linux无法执行sh脚本,可能有以下几个原因和解决方法:检查脚本是否有执行权限:使用`ls -l`命令查看脚本文件的权限,确保脚本文件具有可执行权限,如果没有,可以使用`chmod +x filename.sh`命令给脚本文件添加执行
2023-10-25

Linux中crontab定时任务不执行的原因

最近在linux中遇到了个crontab定时任务不执行的case,在这给大家分享一下,避免踩到我遇到的坑。先贴脚本吧 为了方便展示,把脚本入参,都写死了#!/usr/bin/env bash # 1输出文件,到log 例如: bg # 2
2022-06-04

如何解决 shell 脚本重复执行的问题

简介flock 是文件锁命令,它可以保证linux系统上进程之间安全的访问临界资源,在shell脚本中,可以用来控制逻辑的互斥性 实例1现有脚本 a.sh, 内容如下#!/bin/bashecho "[`date +'%Y-%m-%d %H
2022-06-04

如何解决无法执行vbs脚本中遇到的问题

如何解决无法执行vbs脚本中遇到的问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。有网友反映无法执行vbs文件,一般情况下,很多坏孩子用vbs写病毒,所以有时
2023-06-08

编程热搜

目录