通常我们会需要定时启动一些shell脚本,类似Windows中的Task Scheduler, 下面是在AWS EMR Cluster 主几点上配置的步骤:

1. 先创建一个shell脚本,将需要执行的任务写入脚本

  vi  testcron.sh

2. 修改该脚本的权限,添加执行权限:

  chmod a+x testcron.sh

3. 配置crontab, 创建执行任务的schedule:

  crontab -e

  * * * * * /tmp/testcron.sh         #每分钟执行一次testcron.sh

4. 列出当前用户的所有定时任务:

  crontab -l

5. 删除当前用户的所有定时任务:

  crontab -r

6. 也可以配置其他用户:

  crontab -u username -e

7. 看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察

8. 利用 linux flock 锁机制

  利用 flock(FreeBSD lockf,CentOS下为 flock),在脚本执行前先检测能否获取某个文件锁,以防止脚本运行冲突。

  格式:

  flock [-sxun][-w #] fd#
   flock [-sxon][-w #] file [-c] command

  选项:

  -s, --shared:    获得一个共享锁
   -x, --exclusive: 获得一个独占锁
   -u, --unlock:    移除一个锁,脚本执行完会自动丢弃锁
   -n, --nonblock:  如果没有立即获得锁,直接失败而不是等待
   -w, --timeout:   如果没有立即获得锁,等待指定时间
   -o, --close:     在运行命令前关闭文件的描述符号。用于如果命令产生子进程时会不受锁的管控
   -c, --command:   在shell中运行一个单独的命令
   -h, --help       显示帮助
   -V, --version:   显示版本

  锁类型:

    共享锁:多个进程可以使用同一把锁,常被用作读共享锁
    独占锁:同时只允许一个进程使用,又称排他锁,写锁。

  这里我们需要同时只允许一个进程使用,所以使用独占锁。

修改后的定时任务如下:

*/1 * * * *  flock -xn /tmp/test.lock -c /tmp/testcron.sh  >> /tmp/testcron_result.log

为了测试这个功能,我在testcron.sh脚本里,添加了sleep命令

sleep 10m      #等待10分钟

  sleep 1h        #等待1小时

  sleep 10        #等待10秒钟

Linux 定时任务的配置的更多相关文章

  1. (转载)Linux定时任务cron配置

    (转载)http://blog.csdn.net/jbgtwang/article/details/7995801 实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务 ...

  2. linux定时任务cron配置

    实现linux定时任务有:cron.anacron.at,使用最多的是cron任务 名词解释 cron--服务名:crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 ...

  3. linux定时任务cron配置[转]

    实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务. 名词解释: cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表. 软件包安装: 要使 ...

  4. 工作中linux定时任务的设置及相关配置

    工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次    0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type ...

  5. linux定时任务crond export变量问题

    linux定时任务crond export变量问题 1)我写了一个重启resin的脚本,由于业务原因,需要定时在某一个时间重启下resin服务器,于是就在 crontab里配置了如下内容: 50 17 ...

  6. Linux 定时任务

    200 ? "200px" : this.width)!important;} --> 介绍 本篇主要介绍Linux定时任务命令crontab的用法,crontab是定时任务 ...

  7. Linux 定时任务 Crontab命令 详解

    前言 crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比 ...

  8. Linux实战教学笔记11:linux定时任务

    第十一节 linux定时任务 标签(空格分隔): Linux实战教学笔记 ---更多资料点我查看 1.1 定时任务Crond介绍 Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种 ...

  9. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

随机推荐

  1. 题解 AT2390 【Games on DAG】

    题目大意 给出一个n个点m条边的DAG,记为G. 可以删掉若干条边成为G′,显然有 2m 种不同的G′. 连边保证:若有 (xi →yi​) 边,则 xi​ < yi . 初始点1和点2有一个标 ...

  2. 04Vue.js路由系统

    Vue.js路由系统: https://pizzali.github.io/2018/10/28/Vue.js%E8%B7%AF%E7%94%B1%E7%B3%BB%E7%BB%9F/

  3. Linux下查看Nginx安装目录、版本号信息及当前运行的配置文件

    Linux环境下,怎么确定Nginx的安装路径 输入命令行: ps -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是的 /data/software ...

  4. pycharm 运行错误信息显示乱码

    pycharm版本 解决方法:

  5. python5 数字类型 字符串类型 列表类型

    数字类型   # 了了解:py2中小整数用int存放,大整数用long # 1.整型 num = -1000000000000000000000000000000000000000000000000 ...

  6. Typora使用说明(记录总结)

    目录 区域元素 YAML FONT Matters 菜单 段落 标题 引注 序列 可选序列 代码块 数学块 表格 脚注 水平线 特征元素 链接 超链接 内链接 相关链 URLs 图片 斜体 加粗 删除 ...

  7. jvisualvm安装visualgc插件

    jdk1.7自带jvisualvm可以对java应用进行监控.其中有个插件visualgc可以查看jvm垃圾回收的具体信息.安装插件的步骤是打开jvisualvm,点击工具->插件,在可用插件列 ...

  8. 使用C语言中qsort()函数对浮点型数组无法成功排序的问题

    一 写在开头 1.1 本节内容 本节主要内容是有关C语言中qsort()函数的探讨. 二 问题和相应解决方法 qsort()是C标准库中的一个通用的排序函数.它既能对整型数据进行排序也能对浮点型数据进 ...

  9. 【hdu 5632】Rikka with Array

    Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Ri ...

  10. 快速查看linux命令的用法----------TLDR

    之前我们如果用一个命令,但是忘了具体的参数是什么的时候,通常会用man,比如 man tar 但是man有时候特别的冗长,你要找到想要的例子非常困难,所以tldr命令就是一个很好的补充,里边会有经常用 ...