crontab用法 时间配置_Linux指定的时间运行自定义命令的两种方式
如何在Linux中在指定的时间运行自定义命令
不知道大家有没有这样类似的经历,使用诸如rsync将一个大文件传输到局域网的另一个系统。 由于文件比较大,耗费的时间可能达到小时级别。这时我们可能就会想能不能在饭空或者休息时间来传输这个文件,这样就出现了我们的定时任务。
方法1:timeout命令
最常见的方法是使用timeout命令来实现此目的。
timeout命令是GNU coreutils包的一部分,预先安装在所有GNU / Linux系统中。
man timeout
如上图man timeout信息所示:
格式:
timeout [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...
这里的SUFFIX:
s:秒
m:分钟
h:小时
d:天
案例1:
5秒后执行tail -f /general/tomcat-8.5-base/logs/catalina.out
timeout 5s tail -f /general/tomcat-8.5-base/logs/catalina.out
这里不是动态图,大家可能看不出效果。
大家可以自己亲自试一试。
方法2:Crontab定时任务
补充:
安装命令:yum install crontabs。
这里我们仅做简单的介绍和使用,关于crontab更加详细的内容请参考:
Linux中Crontab定时任务简单讲解。
linux内置的cron进程也可以实现,cron搭配shell脚本,非常复杂指令也no问题。
(1)Cron介绍:
我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。
(2)配置文件:
/var/spool/cron/:
目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名。
/etc/crontab:
这个文件负责调度各种管理和维护任务。
/etc/cron.d/:
这个目录用来存放任何要执行的crontab文件或脚本。
补充:
我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
(3) crontab的使用
格式:
crontab [-u username]
-e:编辑工作表
-l:列出工作表里的命令
-r:删除工作
补充:
省略用户表表示操作当前用户的crontab。
(4)
我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。
每行是一条命令。crontab的命令构成为时间+动作,其时间有分、时、日、月、周五种,操作符有:
*:取值范围内的所有数字
/:每过多少个数字
-:从X到Z
,:散列数字
借用网上一张crontab格式说明图:
以下的youCommand代表的是你自己定义的命令。
案例1:
每1分钟执行一次
* * * * * youCommand
案例2:
每小时的第3和第15分钟执行
3,15 * * * * youCommand
案例3:
在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * youCommand
案例4:
每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * youCommand
案例5:
每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 youCommand
案例6:
每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart
案例7:
每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
案例8:
每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart
案例9:
每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart
案例10:
每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart
案例11:
每一小时重启smb
* */1 * * * /etc/init.d/smb restart
案例12:
晚上11点到早上7点之间,每隔一小时重启smb
* 23-7/1 * * * /etc/init.d/smb restart
关于crontab更加详细的内容请参考:
Linux中Crontab定时任务详解。
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。
crontab用法 时间配置_Linux指定的时间运行自定义命令的两种方式相关推荐
- 8 时间转指定时区的时间_Linux指定的时间运行自定义命令的两种方式
如何在Linux中在指定的时间运行自定义命令 不知道大家有没有这样类似的经历,使用诸如rsync将一个大文件传输到局域网的另一个系统. 由于文件比较大,耗费的时间可能达到小时级别.这时我们可能就会想能 ...
- Node.js webpack-dev-server配置命令的两种方式
第一种直接在package.json文件中的"scripts"里添加: "dev": "webpack-dev-server --open --por ...
- 时间日期格式化的两种方式
java中时间格式化的两种方式: 1.使用@JsonFormat注解进行时间日期的格式化 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",t ...
- 最近一段时间网上有一些报道称35岁以后只有两种人可以幸福的老去
最近一段时间网上有一些报道称35岁以后只有两种人可以幸福的老去. 一种是体制内或是泛体制内的人. 一种是学习好,有真正技能的人. 其他的人都会遇到严重的中年危机,中年后普遍都会遇到收入下滑甚至断档的问 ...
- js操作元素:改变元素内容有两种方式: interText 和 innerHTML的区别, 常用的元素的属性操作, 仿电脑系统时间问好 ,表单元素的属性操作 ,案例:仿京东显示隐藏密码 ,样式属性操作
文章目录 操作元素 改变元素内容有两种方式: interText 和 innerHTML的区别 常用的元素的属性操作 案例:仿电脑系统时间问好 表单元素的属性操作 案例:仿京东显示隐藏密码 样式属性操 ...
- npm与包格式化时间的两种方式
目录 1.第一种方式:传统的定义一个时间函数,然后进行调用 A.设计思想 B.代码 2.第二种方式:使用npm当中的包 A.设计流程 B.使用命令行安装npm包 C.代码 1.第一种方式:传统的定义一 ...
- putextra 传递对象_intent.putextra用法 使用Intent传递对象的两种方式 - 电脑常识 - 服务器之家...
intent.putextra用法 使用Intent传递对象的两种方式 发布时间:2017-05-22 来源:服务器之家 Intent 的用法相信你已经比较熟悉了,我们可以借助它来启动活动.发送广播. ...
- centos6配置日志外发_CentOS6下记录后台操作日志的两种方式
CentOS6下记录后台操作日志的两种方式 平时为了记录登录CentOS Linux系统的操作命令,需要将操作日志记录下来,下面介绍两种方式 1.利用script以及scriptreplay工具 sc ...
- constrain用法java_Android动画五:ConstraintLayout 通过XML和Java两种方式实现动画
ConstraintLayout 动画的实现有两种方式实现,一种是 XML 方式实现,另外一种是Java,两者各有优点,下面就分别介绍两种实现方式,只要会 ConstraintLayout ,实现都非 ...
最新文章
- 10款在线格式转化应用
- 第二十二章:动画(十五)
- 【Spring Cloud笔记】 Eureka通过集群实现高可用
- 分别采用深度优先遍历和广度优先遍历判断是否存在由vi到vj的路径,图用邻接表存储
- python 数据结构 树 dev get items_python数据结构之树(二叉树的遍历)
- 【博客之星】帮我投一票吧,谢谢
- VS2012 打开项目后无法编辑
- AI智能语音识别算法原理 四
- 跨越适配性能那道坎,企鹅电竞Android weex优化
- 2021年全球及中国三元前驱体行业现状及竞争格局分析,基于海外新能源汽车发展,我国是最大出口国「图」
- 1080Ti+windows7和1080Ti+windows10的区别
- cms织梦文件夹目录
- 编写一个程序重复提示用户输入一个国家的首都,一旦收到用户的输入,程序报告用户输入的答案是否正确,假设将50个国家的首都存放在一个字典中,程序提示用户回答所有国家的首都并且显示回答正确的总个数。
- 一劳永逸 让你与IE弹出窗口彻底告别
- selenium打开网页被检测,怎么屏蔽和绕过
- raw文件与jpg文件的读取/转换/显示
- DiskGenius.5.1.2.766.rar
- 提出一个问题:《纪念碑谷》
- CTF 每日一题 Day17 信息化时代的步伐
- RxPermissions——权限申请库
热门文章
- Pytorch使用TensorboardX进行网络可视化
- avcodec_encode_video2 AVERROR(EAGAIN)
- 二叉树深度优先遍历和广度优先遍历
- FCN网络的训练——以燃气表数字识别为例
- grabcut.cpp:380: error: (-215) !bgdSamples.empty() !fgdSamples.empty() in function initGMMs
- tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
- 矩阵乘法的本质是什么
- ARM NEON 优化
- bochs调试方法与指令详解
- fastqc检验时不能执行java_利用fastqc检测原始序列的质量