运维经验分享(三)-- 解决Ubuntu下crontab不能正确执行脚本的问题

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dgd2010.blog.51cto.com/1539422/1676490

运维经验分享作为一个专题,目前共7篇文章

  1. 《运维经验分享(一)-- Linux Shell之ChatterServer服务控制脚本》

  2. 《运维经验分享(二)-- Linux Shell之ChatterServer服务控制脚本二次优化》

  3. 《运维经验分享(三)-- 解决Ubuntu下crontab不能正确执行Shell脚本的问题(一)》

  4. 《运维经验分享(四)--关于 java进程管理的服务控制脚本编程思路分析》

  5. 《运维经验分享(五)-- 改进的java进程管理的服务控制脚本》

  6. 《运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)》

  7. 《运维经验分享(七)-- Linux Shell之ChatterServer服务控制脚本第三次优化》

====================================分割线======================================

前几天写了一个重启ChatterServer的脚本,并设置了一个计划任务,每天两点执行,通过检查ChatterServer进程的pid发现,隔天的pid还是相同的,也就是说计划任务并没有成功执行。

最初的分析以为crontab语法有问题,但经过再三检查后没有发现问题,在CentOS上测试没有问题,因此查看了一下还是Ubuntu与CentOS不一样的缘故,原因还是出在对Ubuntu不熟上,默认的crontab计划任务的shell是/bin/sh,而/bin/sh是一个链接文件,实质指向的是/bin/dash(如下图所示),由于/bin/dash在某些语法上与/bin/bash有很大的不同,如果是用/bin/dash执行一些虽然以#!/bin/bash开头的脚本也难免出错,因此需要重新指定这个sh。

image

但为了不影响整个crontab,我把自定义的crontab指定为bash去执行,如下图所示:

image

这样在chatter.sh脚本中与dash不兼容的行就能正确执行了。

--end--

====================================分割线======================================

运维经验分享作为一个专题,目前共7篇文章

  1. 《运维经验分享(一)-- Linux Shell之ChatterServer服务控制脚本》

  2. 《运维经验分享(二)-- Linux Shell之ChatterServer服务控制脚本二次优化》

  3. 《运维经验分享(三)-- 解决Ubuntu下crontab不能正确执行Shell脚本的问题(一)》

  4. 《运维经验分享(四)--关于 java进程管理的服务控制脚本编程思路分析》

  5. 《运维经验分享(五)-- 改进的java进程管理的服务控制脚本》

  6. 《运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)》

  7. 《运维经验分享(七)-- Linux Shell之ChatterServer服务控制脚本第三次优化》


本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/1676490

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543169.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个jsp能取到父类jsp的值吗_「Javaweb」ssm整合权限控制框架shiro,你知道怎么做吗?...

为美好而努力——羊羽科技说。最近在开发自己的网站,需要权限控制功能,在网上找了一下,找到了我接下来要介绍的shiro框架。shiro框架是Apache公司维护的开源产品之一,其官网对其的简介是这样的:shiro官网简介翻译过来就…

php设置用户头像,PHP针对多用户实现更换头像功能

一个网站,其实说白了就是某几个特定功能的组合,而更换用户头像就在这些功能之中。今天就来做个测试,针对不同的用户,实现头像上传功能。先给大家展示下成品效果图:思路针对不同的用户上传头像,我们要为每一…

执行计划中cpu耗时_面试被问怎么排查遇到的系统CPU飙高和频繁GC,到底该怎么回答?...

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排…

可视化数据包分析工具-CapAnalysis

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenguang.blog.51cto.com/350944/1325742 可视化数据包分析工具-CapAnalysis 我们知道,Xplico是一个从pcap文件中解析出IP流…

网易云歌单添加到php,给自己的网站添加网易云音乐歌单吧^ ^

这个是怎么实现的?一起来看看吧APlayer首先我们需要一个音频播放器,这里我用到了APlayer,这是由bilibili前端大神DIYgod开源的播放器,有兴趣的可以去TA的主页看看,非常惊艳,这里我就不多说了我们看一下APla…

百度应用部署秘籍

2019独角兽企业重金招聘Python工程师标准>>> 【背景介绍】 传统PaaS采用sandbox实现app间的资源安全隔离,sandbox需要对运行环境和编程语言进行底层的功能限制,例如:禁止创建进程和线程,禁止部分系统调用,禁…

java8新特性_JAVA8十大新特性详解

一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sq…

spark1.6.1 on yarn搭建部署

注:本文是建立在hadoop已经搭建完成的基础上进行的。 Apache Spark是一个分布式计算框架,旨在简化运行于计算机集群上的并行程序的编写。该框架对资源调度,任务的提交、执行和跟踪,节点间的通信以及数据并行处理的内在底层操作都进…

主线程是如何向子线程传递数据的?_c++ 利用thread创建线程

用进行多线程开发小时候,老师总是教育我们上课要专心,“一心不可二用”。可是CPU这个不听话的“熊孩子”偏偏却在一个芯片中加入了两个甚至多个运算核心,想要一“芯”二用。从硬件厂商的角度,通过增加CPU的运算核心,突…

php多维数组交集,求数组差/交集函数-php数组函数(二)

求数组差集函数函数只检查了多维数组中的一维。可以用 array_diff($array1[0], $array2[0]) 检查更深的维度。u:自定义函数比较,a(association):同时比较键和值。自定义函数callable $value_compare_func必须返回一个小于零,等于零…

正则过滤符号_多角度理解正则项

过拟合和欠拟合什么是过拟合和欠拟合过拟合:模型在训练集上效果好,在测试集上效果差欠拟合:在训练集上效果就不好产生过拟合的原因参数太多,模型复杂度太高数据量少,训练轮次过多样本中噪声较大,模型拟合了…

PHP页面中嵌套go语言,go语言嵌套类型的使用细节

1. 定义在Go语言中,嵌套类型是将已有的类型直接声明在新的结构类型里。被嵌入的类型被称为新的外部类型的内部类型。通过嵌入类型,与内部类型相关的成员变量会提升到外部类型上。就好像这些成员变量直接声明在外部类型一样。如下图所示:外部类…

jvm内存模型_JVM内存模型的相关概念

1.前言Android的虚拟机是根据移动设备的特点基于Java虚拟机(JVM)改进而来,虽然没有保留规范,但作为Java语言的使用者,了解一下JVM的规范还是有必要的。2.JVM内存模型JVM在执行Java程序时,会把它管理的内存划分为若干个的区域&…

LNMP/LEMP(PHP7.0.04+mysql5.7.12+nginx1.10.0)

预览:Installing Nginx with PHP 7 and MySQL 5.7 (LEMP) on Ubuntu 16.04 LTSThis tutorial exists for these OS versionsUbuntu 15.10 (Wily Werewolf)Ubuntu 14.04 LTS (Trusty Tahr)Ubuntu 13.04 (Raring Ringtail)Ubuntu 12.10 (Quantal Quetzal)Ubuntu 12.04 LTS (Preci…

length函数的头文件_Framebuffer 应用编程中涉及的 API 函数

本节程序的目的是&#xff1a;打开 LCD 设备节点&#xff0c;获取分辨率等参数&#xff0c;映射 Framebuffer&#xff0c;最后实现描点函数。5.2.1 open 函数在 Ubuntu 中执行“man 2 open”&#xff0c;可以看到 open 函数的说明&#xff1a;头文件&#xff1a;#include <s…

xib中UIScrollView固定底部内容

UIScrollView的高度在xib中设置 需要固定的部分用代码添加: UIImageView *textLogo [[UIImageView alloc] initWithFrame:CGRectMake((kMSScreenWith - 153)/2, (kMSScreenHeight - 118 > 549 ? kMSScreenHeight : 667) - 173, 153, 35)]; textLogo.image [UIImage image…

hive

hive 的 表与hdfs数据关系映射放在元数据库中&#xff0c;也就是mysql中&#xff0c;而真正的数据放在 hdfs中&#xff0c;通过mysql中表 &#xff0c;字段等与hdfs上数据的映射来查询 1.hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库…

判断图像局部过暗_CVPR 2020丨基于记忆增强的全局局部整合网络:更准确的视频物体检测方法...

编者按&#xff1a;在视频物体检测任务中&#xff0c;由于相机失焦、物体遮挡等问题&#xff0c;仅基于图像的目标检测器很可能达不到令人满意的效果。针对此类问题&#xff0c;微软亚洲研究院提出了基于记忆增强的全局-局部整合网络(Memory Enhanced Global-Local Aggregation…

第三章:多态

一、多态 1、什么是多态? 解析&#xff1a;不同的对象对于同一个操作&#xff0c;做出的响应不同 具有表现多种形态的能力的特征 2、使用多态的优点 解析&#xff1a;为了实现统一调用 一个小例子&#xff1a;<父类类型作为参数> 父类(Pet) 子类(Gog,Penguin) 主人类(Ma…

请检查virtualboxapi是否正确安装_电机行业安装绝缘轴承规范

1.安装前检查轴承安装前&#xff0c;请检查滚动体表面是否有毛刺&#xff0c;划痕或裂缝。 轴承的径向游隙和轴向游隙是否合格&#xff0c;通常仅测量径向游隙。 其次&#xff0c;检查轴承型号是否正确。 有关滚动轴承的径向游隙标准&#xff0c;请参见下表。 例如&#xff1a;…