如何在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指定的时间运行自定义命令的两种方式相关推荐

  1. 8 时间转指定时区的时间_Linux指定的时间运行自定义命令的两种方式

    如何在Linux中在指定的时间运行自定义命令 不知道大家有没有这样类似的经历,使用诸如rsync将一个大文件传输到局域网的另一个系统. 由于文件比较大,耗费的时间可能达到小时级别.这时我们可能就会想能 ...

  2. Node.js webpack-dev-server配置命令的两种方式

    第一种直接在package.json文件中的"scripts"里添加: "dev": "webpack-dev-server --open --por ...

  3. 时间日期格式化的两种方式

    java中时间格式化的两种方式: 1.使用@JsonFormat注解进行时间日期的格式化 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",t ...

  4. 最近一段时间网上有一些报道称35岁以后只有两种人可以幸福的老去

    最近一段时间网上有一些报道称35岁以后只有两种人可以幸福的老去. 一种是体制内或是泛体制内的人. 一种是学习好,有真正技能的人. 其他的人都会遇到严重的中年危机,中年后普遍都会遇到收入下滑甚至断档的问 ...

  5. js操作元素:改变元素内容有两种方式: interText 和 innerHTML的区别, 常用的元素的属性操作, 仿电脑系统时间问好 ,表单元素的属性操作 ,案例:仿京东显示隐藏密码 ,样式属性操作

    文章目录 操作元素 改变元素内容有两种方式: interText 和 innerHTML的区别 常用的元素的属性操作 案例:仿电脑系统时间问好 表单元素的属性操作 案例:仿京东显示隐藏密码 样式属性操 ...

  6. npm与包格式化时间的两种方式

    目录 1.第一种方式:传统的定义一个时间函数,然后进行调用 A.设计思想 B.代码 2.第二种方式:使用npm当中的包 A.设计流程 B.使用命令行安装npm包 C.代码 1.第一种方式:传统的定义一 ...

  7. putextra 传递对象_intent.putextra用法 使用Intent传递对象的两种方式 - 电脑常识 - 服务器之家...

    intent.putextra用法 使用Intent传递对象的两种方式 发布时间:2017-05-22 来源:服务器之家 Intent 的用法相信你已经比较熟悉了,我们可以借助它来启动活动.发送广播. ...

  8. centos6配置日志外发_CentOS6下记录后台操作日志的两种方式

    CentOS6下记录后台操作日志的两种方式 平时为了记录登录CentOS Linux系统的操作命令,需要将操作日志记录下来,下面介绍两种方式 1.利用script以及scriptreplay工具 sc ...

  9. constrain用法java_Android动画五:ConstraintLayout 通过XML和Java两种方式实现动画

    ConstraintLayout 动画的实现有两种方式实现,一种是 XML 方式实现,另外一种是Java,两者各有优点,下面就分别介绍两种实现方式,只要会 ConstraintLayout ,实现都非 ...

最新文章

  1. 10款在线格式转化应用
  2. 第二十二章:动画(十五)
  3. 【Spring Cloud笔记】 Eureka通过集群实现高可用
  4. 分别采用深度优先遍历和广度优先遍历判断是否存在由vi到vj的路径,图用邻接表存储
  5. python 数据结构 树 dev get items_python数据结构之树(二叉树的遍历)
  6. 【博客之星】帮我投一票吧,谢谢
  7. VS2012 打开项目后无法编辑
  8. AI智能语音识别算法原理 四
  9. 跨越适配性能那道坎,企鹅电竞Android weex优化
  10. 2021年全球及中国三元前驱体行业现状及竞争格局分析,基于海外新能源汽车发展,我国是最大出口国「图」
  11. 1080Ti+windows7和1080Ti+windows10的区别
  12. cms织梦文件夹目录
  13. 编写一个程序重复提示用户输入一个国家的首都,一旦收到用户的输入,程序报告用户输入的答案是否正确,假设将50个国家的首都存放在一个字典中,程序提示用户回答所有国家的首都并且显示回答正确的总个数。
  14. 一劳永逸 让你与IE弹出窗口彻底告别
  15. selenium打开网页被检测,怎么屏蔽和绕过
  16. raw文件与jpg文件的读取/转换/显示
  17. DiskGenius.5.1.2.766.rar
  18. 提出一个问题:《纪念碑谷》
  19. CTF 每日一题 Day17 信息化时代的步伐
  20. RxPermissions——权限申请库

热门文章

  1. Pytorch使用TensorboardX进行网络可视化
  2. avcodec_encode_video2 AVERROR(EAGAIN)
  3. 二叉树深度优先遍历和广度优先遍历
  4. FCN网络的训练——以燃气表数字识别为例
  5. grabcut.cpp:380: error: (-215) !bgdSamples.empty() !fgdSamples.empty() in function initGMMs
  6. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
  7. 矩阵乘法的本质是什么
  8. ARM NEON 优化
  9. bochs调试方法与指令详解
  10. fastqc检验时不能执行java_利用fastqc检测原始序列的质量