我的系统管理员在我的机器上设置了一堆cron作业。我想确切地知道什么时间安排了什么工作。我怎样才能得到这个列表呢?
根据你的linux系统的设置情况,你可以在。
/var/spool/cron/*
/etc/crontab
另外,许多发行版都有。
/etc/cron.d/*。 这些配置的语法与/etc/crontab相同
/etc/cron.d/*
/etc/cron.hourly, /etc/cron.day, /etc/cron.weekly, /etc/cron.monthly。
/etc/cron.hourly
/etc/cron.day
/etc/cron.weekly
/etc/cron.monthly
这些只是包含可执行文件的目录,根据其目录名称,每小时、每天、每周或每月执行。
除此之外,你还可以在job(检查/var/spool/at/*)、anacron(/etc/anacrontab和/var/spool/anacron/*)和可能其他我忘记的东西。
/var/spool/at/*
/etc/anacrontab
/var/spool/anacron/*
对于大多数Crons(例如Vixie-Cron - Debian/Ubuntu默认,Cronie - Fedora默认,Solaris Cron...),你可以通过以下方式获得当前用户的预定cron作业列表。
$ crontab -l
或为另一个用户通过
# crontab -l -u juser
要获得所有用户的crontabs,你可以在所有用户中进行循环,并调用这个命令。
或者,你也可以查找spool文件。通常情况下,它们被保存在/var/spool/cron下,比如vcron的目录如下
/var/spool/cron
/var/spool/cron/crontabs
包含所有用户的所有配置的crontab--除了根用户,根用户也可以通过全系统的crontab来配置作业,该目录位于
使用cronie(Fedora/CentOS上默认),也有一个.d风格的配置目录,用于系统cron作业。
.d
/etc/cron.d
(一如既往,".d "目录简化了维护属于不同软件包的配置项的工作。)
为方便起见,大多数发行版还提供了一个目录,用于定期执行链接/存储的脚本,例如。
/etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly
这些脚本的及时执行通常是通过系统crontab中的 "run-parts "条目或通过anacron来管理。
通过Systemd(例如在Fedora、CentOS 7......),可以通过timer units来配置定期工作的执行。启用的系统定时器可以通过以下方式显示。
$ systemctl list-timers
需要注意的是,除root之外的用户可能会有用户systemd实例在运行,其中也会配置定时器。例如,在 Fedora 上,默认情况下,每个正在登录的用户都有一个用户 systemd 实例。他们可以通过以下方式被识别。
$ ps aux | grep 'systemd[ ]--user'
这些用户的定时器可以通过以下方式列出。
$ systemctl --user list-timers
除了发布 "list-timers "命令外,还有一种方法是在通常的系统和用户systemd配置目录中搜索定时器单元文件(模式:*.timer)和它们的符号链接。
*.timer
$ find /usr/lib/systemd/ /etc/systemd -name '*.timer' $ find /home '(' -path '/home/*/.local/share/systemd/user/*' \ -o -path '/home/*/.config/systemd/*' ')' \ -name '*.timer' 2> /dev/null
(与普通服务单元一样,定时器单元是通过在正确的systemd配置目录下创建符号链接来启用的)。
另见。
列出给定用户的所有密码。
crontab -u username -l;
要列出所有用户的所有crons
以超级用户身份运行它
#!/bin/bash #List all cron jobs for all users for user in `cat /etc/passwd | cut -d":" -f1`; do crontab -l -u $user; done
根据你的linux系统的设置情况,你可以在。
/var/spool/cron/*
(用户crontabs)/etc/crontab
(全系统的crontab)另外,许多发行版都有。
/etc/cron.d/*
。 这些配置的语法与/etc/crontab
相同/etc/cron.hourly
,/etc/cron.day
,/etc/cron.weekly
,/etc/cron.monthly
。这些只是包含可执行文件的目录,根据其目录名称,每小时、每天、每周或每月执行。
除此之外,你还可以在job(检查
/var/spool/at/*
)、anacron(/etc/anacrontab
和/var/spool/anacron/*
)和可能其他我忘记的东西。对于大多数Crons(例如Vixie-Cron - Debian/Ubuntu默认,Cronie - Fedora默认,Solaris Cron...),你可以通过以下方式获得当前用户的预定cron作业列表。
或为另一个用户通过
要获得所有用户的crontabs,你可以在所有用户中进行循环,并调用这个命令。
或者,你也可以查找spool文件。通常情况下,它们被保存在
/var/spool/cron
下,比如vcron的目录如下包含所有用户的所有配置的crontab--除了根用户,根用户也可以通过全系统的crontab来配置作业,该目录位于
使用cronie(Fedora/CentOS上默认),也有一个
.d
风格的配置目录,用于系统cron作业。(一如既往,".d "目录简化了维护属于不同软件包的配置项的工作。)
为方便起见,大多数发行版还提供了一个目录,用于定期执行链接/存储的脚本,例如。
这些脚本的及时执行通常是通过系统crontab中的 "run-parts "条目或通过anacron来管理。
通过Systemd(例如在Fedora、CentOS 7......),可以通过timer units来配置定期工作的执行。启用的系统定时器可以通过以下方式显示。
需要注意的是,除root之外的用户可能会有用户systemd实例在运行,其中也会配置定时器。例如,在 Fedora 上,默认情况下,每个正在登录的用户都有一个用户 systemd 实例。他们可以通过以下方式被识别。
这些用户的定时器可以通过以下方式列出。
除了发布 "list-timers "命令外,还有一种方法是在通常的系统和用户systemd配置目录中搜索定时器单元文件(模式:
*.timer
)和它们的符号链接。(与普通服务单元一样,定时器单元是通过在正确的systemd配置目录下创建符号链接来启用的)。
另见。
列出给定用户的所有密码。
要列出所有用户的所有crons
以超级用户身份运行它