专栏首页ITCoder如何在 Linux 中列出 Cron 定时任务

如何在 Linux 中列出 Cron 定时任务

本文最先发布在:https://www.itcoder.tech/posts/how-to-list-cron-jobs-in-linux/

Cron 是一个定时守护程序,它允许你在指定的时间周期内定时执行任务。这些任务被称为 定时任务,它们通过由 分钟,小时,日,月,星期,或者其中的任意组合来指定时间。

Cron 定时任务通常被用来执行系统维护操作。例如,一个 cron 定时任务可以被设置为自动重复任务,例如:备份数据库,使用最新的安全补丁来更新系统,清理缓存,发送邮件,等等。

本文讲解如何列出 cron 定时任务。

一、列出用户的 Cron 定时任务

用户的 crontab 文件被命名为用户的名字,并且它们的位置由于操作系统不同而不同。在基于 Red Hat 的发行版中,例如 CentOS, crontab文件被存储在 /var/spool/cron目录,而在 Debian 和 Ubuntu中,这些文件被存储在 /var/spool/cron/crontabs文件夹。

想要获得你所登录的当前用户名下的所有 Cron 定时任务, 使用crontab 命令:

crontab -l

如果用户已经设置了 cron 定时任务,那么用户 crontabs 内容将会显示在屏幕上。否则,这个命令将会打印出no crontab for <username>

想要列出其他用户的 Cron 定时任务,使用-u 选项在命令最后来指定用户名称。例如,想要列出用户名为“mark” 的 cron 任务,你将使用:

sudo crontab -u mark -l

每一个用户 crontab 文件权限为 600,并且归属于用户所有。仅仅 root 或者其他有 sudo 权限的用户可以查看其他用户的 cron 定时任务。

想要列出那些用户创建了 cron 定时任务,以 root 或者其他 sudo 用户身份列出spool目录:

sudo ls -1 /var/spool/cron/crontabs

输出类似下面这样:

root
mark

二、列出系统的定时任务

/etc/crontab和在/etc/cron.d目录下的文件都是系统范围的 crontab 文件,它们仅仅可以被系统管理员编辑。

使用 cat, less 或者其他任何文本编辑器来查看文件内容:

cat /etc/crontab /etc/cron.d/*

在大部分 Linux 发行版中,你还可以将脚本放置在/etc/cron.{hourly,daily,weekly,monthly}文件夹,并且脚本将会在每一个hour/day/week/month时间执行。

这些目录下的每一个脚本都必须拥有执行权限。否则,cron 定时任务将不会被执行。

例如,想要查看所有的周定时任务,你可以输入:

ls -l /etc/cron.weekly/

输出:

-rwxr-xr-x 1 root root 813 Feb 10  2019 man-db

如果输出为空,它意味着没有周定时任务。

三、systemd 定时器

Systemd 定时器是一些以*.timer的单元文件,它允许你基于时间来运行任务。

在使用 systemd 作为 init 系统的发行版上, 定时器 被用来和标准的 cron 守护程序来交互。

想要在你的机器上查看 systemd 定时器,运行下面的命令:

systemctl list-timers

输出:

NEXT                         LEFT          LAST                         PASSED       UNIT                         ACTIVATES
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  logrotate.timer              logrotate.service
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  man-db.timer                 man-db.service
Sun 2020-02-16 03:50:52 UTC  5h 44min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily.timer              apt-daily.service
Sun 2020-02-16 06:12:38 UTC  8h left       Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily-upgrade.timer      apt-daily-upgrade.service
Sun 2020-02-16 18:44:56 UTC  20h left      Sat 2020-02-15 17:16:10 UTC  4h 50min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service

四、总结

我们已经向你展示如何列出 cron 定时任务 和 systemd 定时器。

如果你有任何疑问,请通过以下方式联系我们:

微信: sn0wdr1am86

微信群: 加上面的微信,备注微信群

QQ: 3217680847

QQ 群: 82695646

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在 CentOS 8 上安装 Elasticsearch

    Elasticsearch 是一个开源全文搜索和分析引擎。它支持 RESTful 操作,并且允许你存储,搜索,并且实时分析大量的数据。Elasticsearch...

    雪梦科技
  • 如何在 CentOS 8 上安装 Elasticsearch

    本文最先发表在: https://www.itcoder.tech/posts/how-to-install-elasticsearch-on-centos-8...

    雪梦科技
  • 如何在 CentOS 8 上安装 Tomcat 9

    Apache Tomcat是 Java Servlet, JavaServer Pages, Java Expression Language, 和 Java ...

    雪梦科技
  • Vue项目刷新404

    小白程序猿
  • 王兴说美团2019年要片区规模应用无人车,下了一盘什么棋?

    在北京向百度等企业发放首批无人车路测牌照后,自动驾驶汽车的曙光已经清晰可见。在许多人第一印象中,说到无人车可能会先想到乘用车,不过现在看来最先商用的无人车将来自...

    罗超频道
  • 凡是过往,皆为序章!2020 总结与期待

    魔幻的 2020 结束了,仔细回顾了一下过去一年的经历,过得挺跌宕起伏的,不过总的来看,收获良多!相信大家看完坤哥的总结会有些启发。

    kunge
  • Python 目录操作

    os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false

    py3study
  • 《剑指offer》11.链表中倒数第k个节点

    简单思路: 循环到链表末尾找到 length 在找到length-k节点 需要循环两次。

    ConardLi
  • 封装Python列表实现多下标访问

    class MyArray(object): def __init__(self, values): #values can be of...

    Python小屋屋主
  • 美团要完成的无人配送事业:机器和人类的配送成本差不多了

    【新智元导读】7月25日,美团正式向外界发布无人配送开放平台,这意味着美团将迎来从软件、网络到硬件、整车以及实业等不同类型的合作伙伴。发布会上,美团还发布了L4...

    新智元

扫码关注云+社区

领取腾讯云代金券