Linux列表/显示和查看所有cron作业

时间:2020-01-09 10:41:58  来源:igfitidea点击:

如何在Linux或者类似Unix的操作系统下查看当前的设置或者所有正在运行的cron作业?

cron服务在其后台打印区域(通常是/var/spool/cron/crontabs)中搜索crontab文件(以用户帐户命名)。
找到的crontabs已加载到内存中。

cron还会读取/etc/crontab,其格式略有不同。
另外,cron读取/etc/cron.d中的文件:它像对待/etc/crontab文件一样对待/etc/cron.d中的文件。

/etc/cron.d/目录功能的预期目的是允许需要比/etc/cron.{daily,weekly,monthly}目录更好地控制其计划的程序包将crontab文件添加到/etc/cron.d。

Linux查看用户Cronjob

使用以下语法查看Hyman用户cronjob:

sudo crontab -u userName -l
sudo crontab -u Hyman -l

如何在cron/crontab中显示所有作业

我以root用户身份运行以下命令:

crontab -l

在Linux上查看root用户Cronjob

只需以root用户身份执行以下命令:

crontab -l

或者

sudo crontab -l

输出示例:

# Edit this file to introduce tasks to be run by cron.
# 
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# 
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').# 
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# 
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# 
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# 
# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command
#* * * * *	root /root/bin/master.replication
@reboot /bin/sleep 100;/bin/systemctl restart memcached

如何在Linux或者Unix上查看/etc/crontab

也可以从/etc/crontab文件运行cronjob。
要查看它,请运行以下less命令:

# less /etc/crontab

输出示例:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
 
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
# m h dom mon dow user	command
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Linux查看每日cronjob

执行以下命令以显示每日crontab:

cd /etc/cron.daily/
ls -l
cat filename
cas passwd

Linux视图运行日常cron作业

Unix视图每小时cronjobs

执行以下命令:

cd /etc/cron.hourly/
ls -l
cat filename

如何在Linux上查看每周Cron作业

执行以下命令:

cd /etc/cron.weekly/
ls -l
cat filename

查看每月Cronjobs/crontabs的命令

执行以下cat命令以查看正在运行的cron作业:

cd /etc/cron.monthly/
ls -l
cat filename

查看软件(软件包)特定的Cronjobs

运行以下命令

cd /etc/cron.d/
ls -l
cat filename
cat renew-ssl-certs

使用systemd计时器时列出用户cron作业

Systemd带有其cron系统,称为systemd.timer。
这是可以在基于systemd的Linux发行版上使用的另一种选择。
使用以下systemctl命令列出Linux中的cron作业

systemctl list-timers

传递--all选项也可以查看已加载但不活动的计时器:

systemctl list-timers --all

当您获得系统上所有计划的cron作业的列表时该怎么办?

现在您知道了如何在Linux或者Unix服务器或者VM上列出cron作业。
确保您也备份了所有cron作业。
通常,我将以下内容备份到目录中:

  • /var/spool/cron /
  • /var/spool/anacron /
  • /etc/cron *