linux 定时任务详解

习惯了使用 windows 的计划任务,使用 linux 中的 crontab 管理定时任务时很不适应。

所以把基本的用法总结如下。

创建一个简单的定时任务

每分钟输出一次当前的时间,输出到用户家目录下的 time.log 文件中。

?

$ crontab -e

* * * * * echo `date` >> /home/xxx/time.log

crontab 程序的路径为 /usr/bin/crontab。

每个用户的定时任务可以在 /var/spool/cron/crontabs/ 目录下查询到。

需要使用root权限才能进入这个目录。每个以用户名命名的文件中记录着该用户的定时任务。

注意,不要使用 vi 直接编辑这些文件。

cron 运行的每一项工作都会被纪录到 /var/log/cron 这个登录档中,但是 ubuntu 默认关闭了cron 的 log。

打开的方式为:打开 rsyslog 服务的配置文件

?

$ sudo vim /etc/rsyslog.d/50-default.conf

将下面一行中前面的注释符去掉

?

cron.*       /var/log/cron.log

重启 rsyslog

?

$ sudo service rsyslog restart

现在就可以看到 /var/log/cron 文件了,查看该文件是解决定时任务出错的重要途径。

控制用户运行定时任务

如果不想让某个用户运行定时任务,直接把他的账号写入到 /etc/cron.deny 文件中即可。注意,一行一个账号。

当然你也可以使用 /etc/cron.allow 文件来显式的指定可以运行定时任务的用户的账号,并且 /etc/cron.allow 比 /etc/cron.deny 的优先级要高。

但感觉有点乱,倒不如只使用其中的一个。

crontab 命令

-u :只有 root 才有权限执行这个任务,也就是帮其他使用者创建/移除 crontab 定时任务

-e :编辑 crontab 的内容

-l  :显示 crontab 的内容

-r :移除所有 crontab 的内容,若仅要移除某一项,请用 -e 编辑

时间格式

                      分钟        小时         日期         月份        周           命令

数字范围        0-59        0-23        1-31        1-12        0-7         echo “hello” >> abc.log

 特殊字符的含义

*(星号)        代表任何时刻都接受。

,(逗号)         代表分隔时段的意思。

-(减号)        代表一段时间范围内。

/n(斜线)      那个 n 代表数字,每隔 n 单位间隔。

case1: 每年的五月一日 10:5 执行一次

?

5 10 1 5 * command

case2: 每天的三点,六点各执行一次

?

0 3,6 * * * command #注意这里使用了逗号

case3: 每天的8:20, 9:20,10:20,11:20各执行一次

?

20 8-11 * * * command #注意这里使用了减号

case4: 每五分钟执行一次

?

*/5 * * * * command #注意这里使用了/n

case5: 每周一十点执行一次

?

* 10 * * 1 command

配置系统级别的定时任务

crontab -e 是用来设置用户级别的定时任务的。如果要设置系统级别的定时任务该怎么办呢?

答案是直接使用 root 权限编辑系统级别定时任务的配置文件: /etc/crontab。

比如直接用 vim 打开编辑:

linux 定时任务详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:http://www.cnblogs.com/sparkdev/p/5862038.html

原创文章,作者:MCQSN,如若转载,请注明出处:https://www.wangzhanshi.com/n/7589.html

(0)
MCQSN的头像MCQSN
上一篇 2025年1月1日 16:30:37
下一篇 2025年1月1日 16:30:41

相关推荐

  • 有效学习Linux系统的4个方法

    总结4条对学习linux系统有帮助的方法,具体内容如下 网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面。网络之所以无处不在,是因为它提供…

    2025年1月1日
  • 带你入门Linux中size命令的6个例子

    前言 正如你所知道的那样,linux 中的目标文件或着说可执行文件由多个段组成(比如文本段和数据段)。若你想知道每个段的大小,那么确实存在这么一个命令行工具 —— 那就是 size…

    2025年1月1日
  • Linux 下安装 memcached 及 memcacheq的方法

    一:安装memcached 1.下载memcached包     下载地址:http://www.memcached.org (最新包就在首页,点击下载就OK)     解压包:#…

    Linux 2025年1月1日
  • 用 Linux 命令优化网页图片

    以前我在处理网页工作时,我对图像敬而远之。处理和优化图像既不精确又费时。 后来我发现了一些命令,改变了我的想法。为了创建网页,我使用 Jekyll,所以我在说明中包括了它。然而,这…

    2025年1月1日
  • Linux静态链接库使用类模板的快速排序算法

    快速排序的本质是从数组中选一个参考值ref,比该参考值的大的,将其放在ref的右边,比ref小的放在左边,然后不断的对两边重复执行该动作 我们先列出来快速排序的步骤: 1.从数组中…

    Linux 2025年1月1日
  • Linux设置Service服务开机自启的教程指南

    前言 在 Linux 系统中,确保关键服务能够在系统启动时自动运行是一项非常重要的任务。尤其是在服务器环境中,我们希望一些服务(如数据库、应用服务或自定义脚本)能够在系统每次启动后…

    Linux 2024年12月17日
  • 详解Linux 查看服务器开放的端口号

    在讨论这个问题前,我们先来了解一下物理端口、逻辑端口、端口号等计算机概念。 端口相关的概念: 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的…

    2025年1月1日
  • Linux下定位异常消耗的线程实战分析

    前言: 之前分享过一篇Linux开发coredump文件分析实战分享 ,今天再来分享一篇实战文章。 在我们嵌入式linux开发过程中,开发过程中我们经常会使用多进程、多线程开发。那…

    2025年1月1日
  • 配置XManager5连接Linux图形化界面详解

    准备软件: 软件下载地址: 前置条件: # cat /etc/issue  或cat /etc/redhat-release(linux查看版本当前操作系统发行版信息) 查询结果:…

    2025年1月1日
  • Linux下文件的切分与合并的简单方法介绍

    linux下文件分割可以通过split命令来实现,可以将一个大文件拆分成指定大小的多个文件,并且拆分速度非常的快,可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通…

    Linux 2025年1月1日

发表回复

登录后才能评论