periodic.8
PERIODIC(8)
PERIODIC(8)
FreeBSD System Manager's Manual
PERIODIC(8)
periodic
—
运行周期性系统函数
periodic
daily
|weekly
| monthly
|security
|directory ...
periodic
实用程序旨在由 cron(8) 调用以执行位于指定目录中的shell 脚本。
必须指定以下一个或多个参数:
执行标准的每日定期可执行运行。这通常发生在清晨(当地时间)。
执行标准的每周定期可执行运行。 这通常发生在星期六早上很早。
执行标准的每月定期可执行运行。 这通常发生在每月的第一天。
执行标准的日常安全检查。 这通常是由 daily
运行产生的。
directory
包含一组要运行的可执行文件的任意目录。
如果参数是绝对目录名,则按原样使用,否则将在 /etc/periodic 和由 periodic.conf(5) 中的 local_periodic 设置指定的任何其他目录下搜索(见下文)。
periodic
实用程序将运行指定目录中的每个可执行文件。 如果一个文件没有设置可执行位,它会被静默忽略。
每个脚本都需要以下列值之一退出:
0
该脚本在其输出中没有产生任何值得注意的内容。 ⟨basedir⟩_show_success 变量控制此输出的屏蔽。
1
该脚本在其输出中产生了一些值得注意的信息。 ⟨basedir⟩_show_info 变量控制此输出的屏蔽。
2
由于配置设置无效,该脚本产生了一些警告。 ⟨basedir⟩_show_badconfig 变量控制此输出的屏蔽。
>2
脚本产生了不能被屏蔽的输出。
如果相关变量(其中 ⟨basedir⟩ 是脚本所在的基本目录)在 periodic.conf 中设置为 “NO
” ,则 periodic
将屏蔽脚本输出。 如果该变量未设置为 “YES
” 或 “NO
” ,它将被赋予一个默认值,如 periodic.conf(5) 中所述。
所有剩余的脚本输出都基于 ⟨basedir⟩_output 设置的值。
如果将其设置为路径名(以 ‘/
’ 字符开头),则输出会简单地记录到该文件中。 newsyslog(8) 知道文件 /var/log/daily.log, /var/log/weekly.log 和 /var/log/monthly.log, 如果它们存在,它将在适当的时间轮换它们。 因此,如果您希望记录 periodic
输出,这些都是很好的值。
如果 ⟨basedir⟩_output 值不以 ‘/
’ 开头且不为空,则假定它包含电子邮件地址列表,并将输出邮寄给他们。 如果 ⟨basedir⟩_show_empty_output 设置为 “NO
”, 则如果输出为空,则不会发送邮件。
如果 ⟨basedir⟩_output 未设置或为空,则将输出发送到标准输出。
periodic
实用程序将 PATH
环境设置为包括所有标准系统目录,但不包括其他目录,例如 /usr/local/bin 。 如果添加依赖于其他路径组件的可执行文件,则每个可执行文件必须负责配置自己的适当环境。
/etc/crontab
periodic
实用程序通常通过系统默认 cron(8) 表中的条目调用
/etc/periodic
包含 daily, weekly, monthly 和 security 子目录的顶级目录,其中包含标准系统定期可执行文件
/etc/defaults/periodic.conf
periodic.conf 系统注册表包含控制 periodic
和标准 daily, weekly, monthly 和 security 和安全脚本行为的变量
/etc/periodic.conf
此文件包含默认 periodic
配置的本地覆盖
成功时退出状态为 0如果命令失败,则为 1。
系统 crontab 应具有与以下示例类似的 periodic
条目:
# do daily/weekly/monthly maintenance 0 2 * * * root periodic daily 0 3 * * 6 root periodic weekly 0 5 1 * * root periodic monthly
/etc/defaults/periodic.conf 系统注册表通常会有一个 local_periodic 变量读取:
local_periodic="/usr/local/etc/periodic"
要记录 periodic
输出而不是作为电子邮件接收,请将以下行添加到 /etc/periodic.conf:
daily_output=/var/log/daily.log weekly_output=/var/log/weekly.log monthly_output=/var/log/monthly.log
要仅查看每日定期作业的重要信息,请将以下行添加到 /etc/periodic.conf:
daily_show_success=NO daily_show_info=NO daily_show_badconfig=NO
命令可能因以下原因之一失败:
usage: periodic
没有将目录路径参数传递给 periodic
以指定脚本片段所在的位置。
not found
言自明。
sh(1), crontab(5), periodic.conf(5), cron(8), newsyslog(8)
periodic
实用程序首次出现在 FreeBSD 3.0 中。
Paul Traina <pst@FreeBSD.org> Brian Somers <brian@Awfulhak.org>
由于使用包含字符串的 shell 变量指定有关目录的信息, ⟨basedir⟩, ⟨basedir⟩ 必须只包含在 sh(1) 变量名,字母数字和下划线,第一个字符不能是数字。
June 18, 2020
FreeBSD 13.1-RELEASE
最后更新于
这有帮助吗?