介绍
在这个实验中,你将学习如何通过检查配置 cron 任务的各个位置,来查看 Linux 系统上的定时备份任务。你将首先使用 CODE_0 列出当前用户的 cron 任务,查看是否设置了个人定时任务。
接下来,你将通过检查 CODE0 目录来查看系统范围的 cron 任务,该目录通常包含软件包安装的定时任务。最后,你将验证 CODE1 目录的内容,查看是否配置了任何每日脚本(包括潜在的备份程序)以自动运行。
使用 crontab -l 列出用户 cron 任务
在这一步中,你将学习如何使用 CODE_0 命令查看当前用户的定时任务。
CODE_0 是类 Unix 操作系统中基于时间的任务调度器。它允许你安排命令或脚本在指定的时间间隔自动运行。这些定时任务通常被称为“cron 任务”。
系统上的每个用户都可以有自己的一组 cron 任务。这些任务存储在一个名为“crontab”(cron 表)的特殊文件中。
要查看当前用户(CODE0)的 cron 任务,你可以使用带有 CODE1 选项的 CODE2 命令。CODE3 代表“list”(列出)。
如果你还没有打开终端,请打开它。输入以下命令并按回车键:
crontab -l
由于这是一个全新的环境,CODE_0 用户可能还没有设置任何 cron 任务。如果是这种情况,你会看到类似这样的消息:
no crontab for labex
这条消息仅仅意味着 CODE_0 用户没有配置任何定时任务。
如果配置了 cron 任务,输出将在新的一行显示每个定时任务,指定调度时间和要执行的命令。
了解用户的 cron 任务是管理 Linux 系统上定时任务的第一步。在接下来的步骤中,我们将探索系统范围的 cron 任务。
点击 继续 以继续操作。
检查 /etc/cron.d 中的系统 cron 任务
在上一步中,你学习了如何查看特定用户的 cron 任务。现在,让我们来探索系统范围的 cron 任务。
系统范围的 cron 任务通常存储在 CODE0 目录中。与使用 CODE1 命令管理的用户 crontab 不同,系统范围的 cron 任务是在该目录下的各个文件中定义的。
这些文件通常由已安装的软件包创建,用于安排需要在整个系统上运行的任务,例如系统更新、日志轮转或清理脚本。
要查看 CODE0 目录中的文件,你可以使用 CODE1 命令。由于该目录由 root 用户拥有,你需要使用 CODE_2 来列出其内容。
在终端中输入以下命令并按回车键:
sudo ls /etc/cron.d/
你可能会看到类似以下的输出,列出各种文件:
anacron e2scrub_all phpsessionclean
你看到的具体文件可能会因系统上安装的软件而异。该目录中的每个文件都代表一个系统范围的 cron 任务配置。
要查看其中一个文件(例如 CODE0)的内容,你可以使用 CODE1 命令。同样,你需要使用 CODE_2,因为该文件由 root 用户拥有。
输入以下命令并按回车键:
sudo cat /etc/cron.d/phpsessionclean
你将看到该文件的内容,其中定义了 CODE0 脚本的执行时间和方式。其格式与用户 crontab 类似,但还包括一个用户字段,用于指定应该运行该命令的用户(通常是 CODE1)。
```plaintext
## 此文件由php-common软件包安装
#
## 该脚本将清理旧的会话文件。
#
## 详情请见/usr/lib/php/sessionclean。
09,39 root [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi
```
此输出显示,CODE0 脚本计划在每天每小时的第 09 分钟和第 39 分钟运行,并且将由 CODE1 用户执行。
探索 CODE_0 目录中的文件有助于你了解系统级别的自动化任务。
点击 继续 进入下一步。
验证 /etc/cron.daily 中的每日 cron 任务
除了 CODE0 中的各个文件外,Linux 系统通常还会使用 CODE1、CODE2 和 CODE3 等目录来安排脚本在特定时间间隔运行。
任何放在 CODE0 中的可执行脚本都会每天执行一次。同样,CODE1 中的脚本每周执行一次,CODE_2 中的脚本每月执行一次。
这些目录通常由一个系统范围的 cron 任务管理,该任务会运行像 CODE_0 这样的脚本,以执行在这些目录中找到的所有脚本。
让我们查看 CODE_0 目录的内容。这个目录包含计划每天运行的脚本。
使用带有 CODE0 的 CODE1 命令列出该目录中的文件:
sudo ls /etc/cron.daily/
你可能会看到一个脚本列表,例如:
apt-compat dpkg logrotate man-db passwd update-notifier-common
这些是在系统上执行日常维护任务的脚本,例如更新软件包列表(CODE0)、轮转日志文件(CODE1)以及更新手册页数据库(CODE_2)。
要了解其中一个脚本的作用,你可以使用 CODE0 查看其内容。例如,让我们查看 CODE1 脚本:
sudo cat /etc/cron.daily/logrotate
输出将显示该脚本的代码,该代码负责轮转系统日志文件,以防止它们变得过大。
```bash
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
exit 0
```
这个脚本只是检查 CODE0 命令是否存在且可执行,如果是,则使用配置文件 CODE1 运行 CODE_2。
了解 CODE_0 及类似目录中的脚本,能让你深入了解使系统平稳运行的自动化维护任务。
你现在已经探索了用户 cron 任务、CODE0 中的系统范围 cron 任务以及 CODE1 中的每日 cron 脚本。这些知识是管理 Linux 系统上定时任务的基础。
点击 继续 完成实验。
总结
在这个实验中,你学习了如何通过检查 cron 任务来查看 Linux 中已安排的备份任务。你首先使用 CODE_0 列出当前用户的 cron 任务,了解到该命令会显示特定用户的定时任务。
接下来,你通过检查CODE0目录,对系统范围的cron任务进行了探索。这个目录里包含了定义整个系统定时任务的文件,这些任务通常是由软件包安装时设定的。最后,你对位于CODE1目录中的每日cron任务进行了验证,该目录一般存放着计划每天运行一次的脚本。通过仔细检查这些位置,你就能确定Linux系统上是否配置了备份计划。