Unix操作系統有很多值得學習的地方,這裡我們主要介紹Unix操作系統中的Unix crontab,大家一起來學習下吧!使用cron用於周期性的執行一個命令,為了使用它,必須編輯Unix crontab文件。系統缺省的/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
在這個Unix crontab文件中首先設置了幾個環境變量,cron執行這個文件時先設置這些環境變量,然後按照每列規定的時間來執行相應的命令。第一列為分鐘,規定每小時的第幾分執行相應的程序,第二列為每天第幾小時執行程序,,第三列為每月的第幾天,第四列為第幾周,第五列為每周的第幾天,第六列為執行該文件的用戶身份,第七列為要執行的命令。
普通用戶也可以使用Unix crontab命令來創建和維護自己的Unix crontab文件。由於是用戶不能更改執行程序的標識的,因此用戶的crontab就不需第六列──執行程序的用戶身份,而只要直接跟隨要執行的命令。
使用 “crontab -e” 命令,使用編輯器按照相應的格式編輯自己的Unix crontab文件,或者使用 “crontab -l ” 列出現有Unix crontab文件的內容,當然只有root用戶才能查看其他用戶的Unix crontab文件:
- $ crontab -l
- 12 0 * * * /home/wb/bin/getfiles
所有用戶的Unix crontab設置文件都放在/var/cron/tabs目錄下,文件名與每個用戶的用戶名相同。cron中的命令執行結果將被系統使用mail寄給每個用戶。在/var/cron目錄下還有crontab執行的記錄文件,系統管理員可以按照這個文件來檢查系統安全性,檢查是否有影響系統安全的程序被執行。