云网牛站
所在位置:首页 > Linux教程 > 在Linux系统中列出用户/系统Cron作业(Cron Jobs)的方法

在Linux系统中列出用户/系统Cron作业(Cron Jobs)的方法

2020-02-16 09:40:05作者:申仲稿源:云网牛站

本文介绍列出用户Cron工作(Cron Jobs)、列出系统Cron工作、Systemd Timers。Cron是一个调度守护程序,可让您按指定的时间间隔调度任务的执行,这些任务称为cron作业,可以计划按分钟、小时、每月的某天、每月、一周的某天或它们的任意组合运行。Cron作业通常用于执行系统维护操作,例如,可以将cron作业设置为自动执行重复性任务,例如备份数据库、使用最新的安全补丁更新系统、清除缓存、发送电子邮件等。

在Linux系统中列出用户/系统Cron作业(Cron Jobs)的方法

 

列出用户Cron工作(Cron Jobs)

用户的crontab文件是根据用户名命名的,其位置因操作系统而异,在基于Red Hat的发行版(例如CentOS)中,crontab文件存储在/var/spool/cron目录中,而在Debian和Ubuntu上,文件存储在/var/spool/cron/crontabs目录中。

要获取当前登录用户的所有cron作业的列表,请使用crontab命令:

crontab -l

如果用户设置了cron作业,则用户crontab的内容将显示在屏幕上,否则,该命令将不会为<用户名>打印任何crontab。

要列出其他用户的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

参考:在Linux系统下使用Crontab UI安全管理Cron定时任务

 

列出系统Cron工作(Cron Jobs)

/etc/crontab和/etc/cron.d目录中的文件是系统范围的crontab文件,只能由系统管理员编辑,请使用cat、less或任何文本编辑器来查看文件的内容:

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

在大多数Linux发行版中,您还可以将脚本放入/etc/cron.{hourly,daily,weekly,monthly}目录中,并且脚本每小时/每天/每周/每月执行一次。

这些目录中的每个脚本都必须具有执行权限,否则,将不执行cron作业。

例如,要查看所有每周的cron作业,请输入:

ls -l /etc/cron.weekly/

返回:

-rwxr-xr-x 1 root root 813 Jan 20  2020 man-db

如果输出为空,则意味着没有每周的cron作业。

 

系统计时器(Systemd Timers)

Systemd计时器是以*.timer后缀结尾的单位文件,可让您根据时间运行服务单位。在使用systemd作为初始化系统的发行版中,计时器用作标准cron守护程序的替代方法。

要查看计算机上所有systemd计时器的列表,请运行以下命令:

systemctl list-timers

返回:

在Linux系统中列出用户/系统Cron作业(Cron Jobs)的方法

 

相关主题

在Linux系统上使用Cron调度系统命令

精选文章
热门文章