Unix crontab知識(shí)講解
Unix操作系統(tǒng)有很多值得學(xué)習(xí)的地方,這里我們主要介紹Unix操作系統(tǒng)中的Unix crontab,大家一起來(lái)學(xué)習(xí)下吧!使用cron用于周期性的執(zhí)行一個(gè)命令,為了使用它,必須編輯Unix crontab文件。系統(tǒng)缺省的/etc/crontab 文件為:
- # /etc/crontab - root's crontab for FreeBSD
- #
- # $Id: crontab,v 1.13 1996/01/06 22:21:37 ache Exp $
- # From: Id: crontab,v 1.6 1993/05/31 02:03:57 cgd Exp
- #
- SHELL=/bin/sh
- PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
- HOME=/var/log
- #
- #minute hour mday month wday who command
- #
- */5 * * * * root /usr/libexec/atrun
- #
- # rotate log files every hour, if necessary
- 0 * * * * root /usr/sbin/newsyslog
- #
- # do daily/weekly/monthly maintenance
- 0 2 * * * root /etc/daily 2>&1 | sendmail root
- 30 3 * * 6 root /etc/weekly 2>&1 | sendmail root
- 30 5 1 * * root /etc/monthly 2>&1 | sendmail root
- #
- # time zone change adjustment for wall cmos clock,
- # does nothing, if you have UTC cmos clock.
- # See adjkerntz(8) for details.
- 1,31 0-4 * * * root /sbin/adjkerntz -a
在這個(gè)Unix crontab文件中首先設(shè)置了幾個(gè)環(huán)境變量,cron執(zhí)行這個(gè)文件時(shí)先設(shè)置這些環(huán)境變量,然后按照每列規(guī)定的時(shí)間來(lái)執(zhí)行相應(yīng)的命令。第一列為分鐘,規(guī)定每小時(shí)的第幾分執(zhí)行相應(yīng)的程序,第二列為每天第幾小時(shí)執(zhí)行程序,,第三列為每月的第幾天,第四列為第幾周,第五列為每周的第幾天,第六列為執(zhí)行該文件的用戶(hù)身份,第七列為要執(zhí)行的命令。
普通用戶(hù)也可以使用Unix crontab命令來(lái)創(chuàng)建和維護(hù)自己的Unix crontab文件。由于是用戶(hù)不能更改執(zhí)行程序的標(biāo)識(shí)的,因此用戶(hù)的crontab就不需第六列──執(zhí)行程序的用戶(hù)身份,而只要直接跟隨要執(zhí)行的命令。
使用 “crontab -e” 命令,使用編輯器按照相應(yīng)的格式編輯自己的Unix crontab文件,或者使用 “crontab -l ” 列出現(xiàn)有Unix crontab文件的內(nèi)容,當(dāng)然只有root用戶(hù)才能查看其他用戶(hù)的Unix crontab文件:
- $ crontab -l
- 12 0 * * * /home/wb/bin/getfiles
所有用戶(hù)的Unix crontab設(shè)置文件都放在/var/cron/tabs目錄下,文件名與每個(gè)用戶(hù)的用戶(hù)名相同。cron中的命令執(zhí)行結(jié)果將被系統(tǒng)使用mail寄給每個(gè)用戶(hù)。在/var/cron目錄下還有crontab執(zhí)行的記錄文件,系統(tǒng)管理員可以按照這個(gè)文件來(lái)檢查系統(tǒng)安全性,檢查是否有影響系統(tǒng)安全的程序被執(zhí)行。
【編輯推薦】