freebsdcron:FreeBSD系统管理:配置和安装cron

  配置 cron

  Contributed by Tom Rhodes.

  FreeBSD 最有用软件Software包(utilities)中个是 cron cron 软件Software在后台运行并且经常检查 /etc/crontab 文件cron 软件Software也检查 /var/cron/tabs 目录搜索新 crontab 文件这些 crontab 文件存储些 cron 在特定时间执行任务信息

  cron 使用两种区别类型配置文件 即系统 crontab 和用户 crontabs 两种格式区别是第 6个字段 在系统 crontab 中第 6个字段是用于执行命令用户名 这给予了系统 crontab 以任意用户身份执行命令能力 在用户 crontab 中 第 6个字段是要执行命令所有命令都会以这个用户自己身份执行; 这是项重要安全功能

  注意: 同其他用户 root 用户也可以有自己 crontab 它区别于 /etc/crontab (也就是系统 crontab)由于有系统 crontab 存在 通常并不需要给 root 建立单独用户 crontab

  让我们来看下 /etc/crontab 文件:



像大多数 FreeBSD 配置文件# 是注释 这样就可以编写注释来介绍说明要执行什么操作 以及这样做原因 需要注意 注释应该另起而不能跟命令放在同行上 否则它们会被看成命令部分 这个文件中空行会被忽略

首先应该定义环境变量等号 (=) 用来定义任何环境变量像这个例子用到了 SHELLPATH 和 HOME 变量如果 shell 行被忽略掉cron 将会用默认值 sh如果 PATH 变量被忽略 那么就没有默认值并且需要指定文件绝对位置如果 HOME 被忽略cron 将用用执行者 home 目录

行定义了 7个字段它们是 minute、 hour、mday、 month、wday、 who 和 command 它们差不多已经介绍说明了各自用处Minute 是命令要运行时分钟Hour 跟 minute 差不多只是用小时来表示Mday 是每个月Month 跟 hour 还有 minute 都差不多用月份来表示wday 字段表示星期几所有这些字段值必须是数字并且用24小时制来表示“who” 字段是特别并且只在 /etc/crontab 文件中存在这个字段指定了命令应该以哪个用户身份来运行个用户添加了他(她) crontab 文件时候他们就会没有这个字段选项最后是 command 字段这是最后个字段所以自然就是它指定要运行

最后行定义了上面所说注意这里我们有个 */5 列表紧跟着是些 * * 代表“开始到最后” 也可以被解释成 每次所以根据这行 显然表明了无论在何时每隔 5 分钟以 root 身份来运行 atrun 命令查看 atrun 手册页以获得 atrun 更多信息

  命令可以有任意多个传递给它们标志无论怎样扩展到多行命令应该用反斜线(“\”)来续行

  这是每个 crontab 文件基本设置虽然它们有个区别第 6行我们指定用户名只存在于系统 /etc/crontab 文件这个字段在普通用户 crontab 文件中应该被忽略

  安装 Crontab

  重要: 绝对不要用这种思路方法来编辑/安装系统 crontab您需要做只是使用自己喜欢编辑器: cron 会注意到文件发生了变化 并立即开始使用新版本参见 这个 FAQ 项目(http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/admin.html#ROOT-NOT-FOUND-CRON-ERRORS) 以了解进情况

  要安装刚写好用户 crontab首先使用最习惯编辑器来创建个符合要求格式文件然后用 crontab 来完成最常见使用方法是:

  % crontab crontab-file 

  在前面例子中 crontab-file 是个事先写好 crontab

  还有个选项用来列出安装 crontab 文件: 只要传递 -l 选项给 crontab 然后看下输出

  用户想不用模板(已经存在文件)而直接安装他 crontab 文件用 crontab -e 选项也是可以它将会启动个编辑器并且创建个新文件当这个文件被保存时候 它会自动用 crontab 来安装这个文件

  如果您稍后想要彻底删除自己用户 crontab 可以使用 crontab -r 选项

Tags:  freebsd配置ip freebsd网络配置 freebsd系统管理 freebsdcron

延伸阅读

最新评论

发表评论