WEB开发网
开发学院操作系统Linux/Unix 系统管理员工具包: 时间和事件管理 阅读

系统管理员工具包: 时间和事件管理

 2008-11-11 08:12:32 来源:WEB开发网   
核心提示: 第 3 周:第 15 天到第 21 天 第 4 周:第 22 天到 28 天 要确定当前日期是否在给定范围内,例如是否在第四周范围内,系统管理员工具包: 时间和事件管理(6),可以使用与以下所示类似的测试: [ `date +%e` -gt 21 -a `date +%e` -lt 29

第 3 周:第 15 天到第 21 天

第 4 周:第 22 天到 28 天

要确定当前日期是否在给定范围内,例如是否在第四周范围内,可以使用与以下所示类似的测试:

[ `date +%e` -gt 21 -a `date +%e` -lt 29 ]

%e 用于返回当天的号数,如果数字小于 10 则用一个空格(而不是零)作为其前缀,以确保对数字(而非字符串)进行比较。

现在可以将此与 crontab 定义一起使用,以尝试每周星期五运行命令:

59 23 * * 5 [ `date +%e` -gt 21 -a `date +%e` -lt 29 ]
&& do-something

命令将在每周星期五运行,但由于测试将仅在每个月的第四周返回 True,命令将实际在第三个星期五执行。

Cron 作业执行环境

尽管可以更改执行 cron 作业时使用的环境,但经常最好创建一个包装脚本,以在运行实际需要的命令前定义任何环境变量(如 PATH)。

这样做的部分原因是出于安全考虑;向 cron 作业开放的区域越多,越可能得到包含可疑内容的东西。另一个原因是,这样可确保即使更改了环境中的一个依赖关系,您的 cron 作业仍然将执行。

通过使用独立的包装脚本,还可以利用不同外壳程序的扩展和功能,而不仅限于通常用于运行大部分 cron 作业的标准 Bourne 外壳程序。

最后,通过使用独立的包装脚本,还允许您为不同命令定义不同的环境。如果您希望在可能使用相同应用程序或工具的不同版本的不同用户环境中运行命令,这将非常有用。

记录输出的技巧

缺省情况下,crontab 运行的生成输出(到标准输出和标准错误的输出)的命令都会将输出以电子邮件的形式发送给该作业的用户。不过,这并非总是方便的解决方案,对于某些结果,您可能只需要部分输出,或者可能希望忽略标准输出,而仅报告错误。甚至可能希望将输出发送到不同的用户或电子邮件别名。

上一页  1 2 3 4 5 6 7  下一页

Tags:系统 管理员 工具包

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接