博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu crontab 在时间段内随机执行一次
阅读量:5794 次
发布时间:2019-06-18

本文共 1385 字,大约阅读时间需要 4 分钟。

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/userchmod 777 /var/spool/cron/crontabs/usercrontab /var/spool/cron/crontabs/userservice 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

转载于:https://www.cnblogs.com/cocoajin/p/6676065.html

你可能感兴趣的文章
Android动画效果translate、scale、alpha、rotate详解
查看>>
Android 一个抽奖应用的逆向破解全流程之加固自己应用
查看>>
memcpy源代码
查看>>
3D打印论坛
查看>>
硬盘那点事儿
查看>>
[LeetCode] Max Points on a Line 共线点个数
查看>>
angular中的MVVM模式
查看>>
python下的web服务器模块
查看>>
Unity3D 系统宏
查看>>
sp_addlinkedserver '(null)' is an invalid product name
查看>>
Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
查看>>
PHP CURL模拟提交数据 攻击N次方
查看>>
Apache Shiro 使用手册(四)Realm 实现
查看>>
从Knockout到Angular的架构演变
查看>>
数据库技术进化路线
查看>>
版本控制-搭建git服务器
查看>>
[老老实实学WCF] 第七篇 会话
查看>>
道破Redis的VM
查看>>
Codeforces Gym 100610 Problem E. Explicit Formula 水题
查看>>
最新 Windows 10 应用项目模板发布
查看>>