ubuntu crontab 在时间段内随机执行一次
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 在时间段内随机执行一次的更多相关文章
- mac crontab时间断内随机时间执行定时任务
首先需要了解crontab使用,这里不多,主要是时间断内随机时间: 然而crontab 并没有具体方法实现时间段内随机时间执行,我的办法如下: 这里测试一个例子: 执行一个数据存文件python脚本, ...
- linux定时任务crontab 实现如何每秒执行一次!
linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} ...
- linux crontab & 每隔10秒执行一次
linux下定时执行任务的方法 在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出. 在LINU ...
- [服务]Crontab和每隔10S执行一次
转自:https://www.cnblogs.com/juandx/archive/2015/11/24/4992465.html linux下定时执行任务的方法 在LINUX中你应该先输入cron ...
- Linux定时任务crontab每三秒执行一次shell
第一种方法:当然首先想到的是写一个触发的脚本,在触发脚本中使用死循环来解决此问题,如下: cat kick.sh #!/bin/bash while : ;do /home/somedir/scrip ...
- crontab每10秒钟执行一次
1.使用sleep 在crontab中加入 * * * * * sleep 10; /bin/date >>/tmp/date.txt* * * * * sleep 20; /bin/da ...
- ubuntu crontab设置定时任务
ubuntu 设置定时任务 crontab -l #查看详情crontab -e #设置定时任务 * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用* ...
- ubuntu crontab 定时备份postgres数据库并上传ftp服务器
最近公司要求备份数据库,所以就查了比较作的资料.废话不多说,入正题. 目的:定期备份ubuntu下的postgres数据库,打包上传到指定ftp服务器. 经过查找资料,解决方法: ①编写备份数据库.打 ...
- Ubuntu crontab 定时 python 详细
Ubuntu系统,定时执行python脚本. 目的:每分钟执行一次timer_test.py timer_test.py 路径 /home/li/d/pythonwork/test/timer_ ...
随机推荐
- hdu6107 倍增法st表
发现lca的倍增解法和st表差不多..原理都是一样的 /* 整篇文章分成两部分,中间没有图片的部分,中间有图片的部分 分别用ST表求f1,f2表示以第i个单词开始,连续1<<j行能写多少单 ...
- oracle中计算某月的天数
select add_months(to_date('201202', 'YYYYMM'),1)-to_date('201202', 'YYYYMM') from dual
- 我靠,上班eclipse看糗事百科
package test; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; ...
- .NetCore源码阅读笔记系列之Security (三) Authentication & AddOpenIdConnect
通过第二篇文章我们已经知道了授权的内部实现通过自定义的授权Handler来的,同样的道理 OpenIdConnect 同样是通过 OpenIdConnectHandler来请求授权的 那么它内部又是怎 ...
- centos 7 增加网卡子接口配置
centos 7 增加网卡子接口配置 http://www.mamicode.com/info-detail-1351950.html
- BZOJ3673 可持久化并查集 by zky 可持久化 并查集
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3673 题意概括 n个集合 m个操作操作:1 a b 合并a,b所在集合2 k 回到第k次操作之后的 ...
- 科技界、IT届的外号
牙膏厂 = Intel 挤牙膏来形容缓慢的升级速度 农企(推土机,打桩机,压路机).阿曼达.按摩店 = AMD 两弹元勋.老黄 = 黄仁勋, 核弹.英伟达 = NVIDIA 大法 = ...
- 第一次亲密接触MSF
第一次亲密接触MSF Metasploit Framework介绍 Metasploit是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新.被安全社区冠以“可以黑掉整个宇宙”之名的强 ...
- Linux学习之常用压缩命令(三)
(一)常用压缩命令 (1)gzip命令 (2)gunzip命令 (3)tar命令 (4)zip命令 (5)unzip命令 (6)bzip2命令 (7)bunzip2命令 (一)常用压缩命令 (1)gz ...
- Redis实现的分布式锁和分布式限流
随着现在分布式越来越普遍,分布式锁也十分常用,我的上一篇文章解释了使用zookeeper实现分布式锁(传送门),本次咱们说一下如何用Redis实现分布式锁和分布限流. Redis有个事务锁,就是如下的 ...