crontab 在linux下做定时任务的命令,

1. 基本格式

* * * * * cmd

第一个表示:分钟 1-59, 每分钟用 */1

第二个表示:小时 023

第三个表示:日期1-31

第四个表示:月份1-12

第五个表示:星期几0-6(0表示星期日)

几个说明例子

*/1 * * * * /path/xx.sh  每分钟执行一次脚本

0 3 * * 5-6 /path/xx.sh 每周五,周六早上3点执行一次脚本

可以使用在线的工具来模拟测试写的crontab任务

2. crontab 命令

NAME
crontab -- maintain crontab files for individual users (V3) SYNOPSIS
crontab [-u user] file
crontab [-u user] { -l | -r | -e }

基本用法:

crontab -h 查看帮助

crontab -l 查看当前定时任务列表

crontab -r 删除当前用户下的定时任务

crontab -e 进入编辑模式添加定时任务

crontab file 添加指定配置文件到定时任务(上面使用-e命令,会在/var/spool/cron/crontabs/user 下生成当前用户名的文件)

可以此命令预先脚本生成配置文件然后添加到定时任务;

示例,测试使用的ubuntu server 14

echo "0 3 * * 1-5 /path/xx.sh" >/var/spool/cron/crontabs/user
chmod /var/spool/cron/crontabs/user
crontab /var/spool/cron/crontabs/user
service crontab restart

3. 关于定时任务在某一个时间段随机执行一次

crontab 只能设定定时任务,不能直接设定随机(有知道直接的留言告诉我)

于是想到了一个 shell脚本随机,然后生成一个随机数,把这个随机数设定在定时任务的时间上,这样每次执行一次,随机一次时间,并重新设定定时任务;任务执行完成删除当前任务,随机一数,并重新配置任务

这样就达到了在某一个时间段随执行一次任务的想法。

如下脚本逻辑

#!/bin/bash

#随机数,表示随机一个30以内的数
randNum=$(($RANDOM%30)) #user 表示当前登陆的用户
#path /var/spool/cron/crontabs
#生成crontab 任务配置文件
#表示在 每周一到周五早上3点到3点30之间,随机一个时间执行一次数据备份
echo $[randNum]" 3 * * 1-5 /path/backdb.sh" > /path/user #设置可执行权限
sudo chmod 777 /path/user
#使用crontab 命令添加到定时任务
sudo crontab /path/user
#重启服务
sudo service cron restart

  

参考:http://www.jb51.net/LINUXjishu/151805.html

ubuntu crontab 在时间段内随机执行一次的更多相关文章

  1. mac crontab时间断内随机时间执行定时任务

    首先需要了解crontab使用,这里不多,主要是时间断内随机时间: 然而crontab 并没有具体方法实现时间段内随机时间执行,我的办法如下: 这里测试一个例子: 执行一个数据存文件python脚本, ...

  2. linux定时任务crontab 实现如何每秒执行一次!

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} ...

  3. linux crontab & 每隔10秒执行一次

    linux下定时执行任务的方法  在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出. 在LINU ...

  4. [服务]Crontab和每隔10S执行一次

    转自:https://www.cnblogs.com/juandx/archive/2015/11/24/4992465.html linux下定时执行任务的方法  在LINUX中你应该先输入cron ...

  5. Linux定时任务crontab每三秒执行一次shell

    第一种方法:当然首先想到的是写一个触发的脚本,在触发脚本中使用死循环来解决此问题,如下: cat kick.sh #!/bin/bash while : ;do /home/somedir/scrip ...

  6. crontab每10秒钟执行一次

    1.使用sleep 在crontab中加入 * * * * * sleep 10; /bin/date >>/tmp/date.txt* * * * * sleep 20; /bin/da ...

  7. ubuntu crontab设置定时任务

    ubuntu 设置定时任务   crontab -l  #查看详情crontab -e #设置定时任务 * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用* ...

  8. ubuntu crontab 定时备份postgres数据库并上传ftp服务器

    最近公司要求备份数据库,所以就查了比较作的资料.废话不多说,入正题. 目的:定期备份ubuntu下的postgres数据库,打包上传到指定ftp服务器. 经过查找资料,解决方法: ①编写备份数据库.打 ...

  9. Ubuntu crontab 定时 python 详细

    Ubuntu系统,定时执行python脚本. 目的:每分钟执行一次timer_test.py timer_test.py    路径 /home/li/d/pythonwork/test/timer_ ...

随机推荐

  1. hdu3415 单调队列模板题

    比较裸的单调队列 先求前缀和,枚举所有结束位置1~n+k即可 #include<iostream> #include<cstdio> #include<cstring&g ...

  2. python 全栈开发,Day129(玩具开机提示语,为多个玩具发送点播,聊天界面,app录音,app与服务器端文件传输,简单的对话)

    一.玩具开机提示语 先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.2.zi ...

  3. python 全栈开发,Day11(函数名应用,闭包,装饰器初识,带参数以及带返回值的装饰器)

    一.函数名应用 函数名是什么?函数名是函数的名字,本质:变量,特殊的变量. 函数名(),执行此函数. python 规范写法 1. #后面加一个空格,再写内容,就没有波浪线了. 2.一行代码写完,下面 ...

  4. 步步为营-56-JQuery基础

    jQuery本质还是封装好的js,只不过代码更简洁,而做的更好 使用JQuery选择器会返回一个jQuery对象,其本质是dom数组,jQuery对象可以调用JQuery方法. 1 选择器 1.1 基 ...

  5. ubuntu 12.04 安装 openssh-server 失败,请问怎么该弄?

    $ sudo apt-get install openssh-server Reading package lists... Done Building dependency tree Reading ...

  6. mysql操作查询结果case when then用法举例

    举例1: 使用该查询,得出iFavoriteID,iFavUserType ,cUser,iArticleID,dFavoriteTime五个字段的值: SELECT iFavoriteID,CASE ...

  7. WebApi的调用-1.前端调用

    前端调用 html <div class="row"> <form id="queryForm"> <input name=&qu ...

  8. hdu 1575 求一个矩阵的k次幂 再求迹 (矩阵快速幂模板题)

    Problem DescriptionA为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973. Input数据的第一行是一个T,表示有T组数据.每组数据的第一行有 ...

  9. jQuery源码中的“new jQuery.fn.init()”什么意思?

    所有文章搬运自我的个人主页:sheilasun.me 引子 最近打算试试看看jQuery的源码,刚开个头就卡住了.无论如何都理解不了jQuery源码入口部分中的 return new jQuery.f ...

  10. [JSOI2009]等差数列

    链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1558 题解: 考虑这么用线段树进行维护,由于他有区间修改等差数列 很容易想到可以用差分数组来维 ...