网站建设与管理 规划书,公司的做网站,中山大学精品课程网站,网站seo优化软件相对于 at 是仅执行一次的工作#xff0c;循环执行的例行性工作调度则是由 cron #xff08;crond#xff09; 这个系统服务来控制的。刚刚谈过 Linux 系统上面原本就有非常多的例行性工作#xff0c;因此这个系统服务是默认启动的。另外#xff0c; 由于使用者自己也可以…相对于 at 是仅执行一次的工作循环执行的例行性工作调度则是由 cron crond 这个系统服务来控制的。刚刚谈过 Linux 系统上面原本就有非常多的例行性工作因此这个系统服务是默认启动的。另外 由于使用者自己也可以进行例行性工作调度所以 Linux 也提供使用者控制例行性工作调度的指令 crontab。
15.3.1 使用者的设置
使用者想要创建循环型工作调度时使用的是 crontab 这个指令。不过为了安全性的问题 与 at 同样的我们可以限制使用 crontab 的使用者帐号。使用的限制数据有
/etc/cron.allow 将可以使用 crontab 的帐号写入其中若不在这个文件内的使用者则不可使用 crontab
/etc/cron.deny 将不可以使用 crontab 的帐号写入其中若未记录到这个文件当中的使用者就可以使用 crontab 。
与 at 很像吧同样的以优先顺序来说 /etc/cron.allow 比 /etc/cron.deny 要优先 而判断上面这两个文件只选择一个来限制而已因此建议你只要保留一个即可 免得影响自己在设置上面的判断一般来说系统默认是保留 /etc/cron.deny 你可以将不想让他执行crontab 的那个使用者写入 /etc/cron.deny 当中一个帐号一行。
当使用者使用 crontab 这个指令来创建工作调度之后该项工作就会被纪录到/var/spool/cron/ 里面去了而且是以帐号来作为判别的。举例来说 dmtsai 使用 crontab后 他的工作会被纪录到 /var/spool/cron/dmtsai 里头去但请注意不要使用 vi 直接编辑该文件 因为可能由于输入语法错误会导致无法执行 cron 。另外 cron 执行的每一项工作都会被纪录到 /var/log/cron 这个登录文件中所以如果你的 Linux 不知道有否被植入木马时也可以搜寻一下 /var/log/cron 这个登录文件。 默认情况下任何使用者只要不被列入 /etc/cron.deny 当中那么他就可以直接下达“ crontab-e ”去编辑自己的例行性命令了整个过程就如同上面提到的会进入 vi 的编辑画面 然后以一个工作一行来编辑编辑完毕之后输入“ :wq ”储存后离开 vi 就可以了 而每项工作 每行 的格式都是具有六个字段这六个字段的意义为 代表意义 分钟 小时 日期 月份 周 指令 数字范围 0-59 0-23 1-31 1-12 0-7
比较有趣的是那个“周”。周的数字为 0 或 7 时都代表“星期天”的意思另外还有一些辅助的字符大概有下面这些 例题假若你的女朋友生日是 5 月 2 日你想要在 5 月 1 日的 23:59 发一封信给他这封信的内容已经写在 /home/dmtsai/lover.txt 内了该如何进行答直接下达 crontab -e 之后编辑成为
59 23 1 5* mail kiki /home/dmtsai/lover.txt
那样的话每年 kiki 都会收到你的这封信。
例题假如每五分钟需要执行 /home/dmtsai/test.sh 一次又该如何答同样使用 crontab-e 进入编辑
*/5 * * * * /home/dmtsai/test.sh
那个 crontab 每个人都只有一个文件存在就是在 /var/spool/cron 里面。
例题假如你每星期六都与朋友有约那么想要每个星期五下午 4:30 告诉你朋友星期六的约会不要忘记则答还是使用 crontab -e 啊
30 16 * * 5 mail friendhis.server.name /home/dmtsai/friend.txt