cron機制
cron可以讓系統在指定的時間,去執行某個指定的工作,我們可以使用crontab指令來管理cron機制
crontab參數
-u:這個參數可以讓我們去編輯其他人的crontab,如果沒有加上這個參數的話就會開啟自己的crontab
/etc/crontab文件和crontab -e命令區別
1、格式不同
前者
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
后者
#50 1 * * * command
2、使用范圍
修改/etc/crontab這種方法只有root用戶能用,這種方法更加方便與直接直接給其他用戶設置計划任務,而且還可以指定執行shell等等,
crontab -e這種所有用戶都可以使用,普通用戶也只能為自己設置計划任務。然后自動寫入/var/spool/cron/usename
1、crontab 會進行語法檢查,vi 不會
2、聽說有些 os 的 crond 不會重讀配置,所以用 service 重啟
crontab -e是某個用戶的周期計划任務;/etc/crontab是系統的周期任務
1. crontab -e 與 /etc/crontab 修改語法格式不一樣,后者多一個 user 指定
2. 不管用 crontab -e or 改 /etc/crontab 都不需要重新啟動 crond 服務
01 22 * * * /sbin/shutdown -h now
執行的結果都是一樣, 一般LINUX 都用shutdown -h now 也可以init 0
init 0在UNIX用得比較多,
關機需要root的身份在可以執行,
lz可以選取方法操作
方法1
換到root 的身份
su - root
crontab -e (按a增加下)
01 22 * * * /sbin/shutdown -h now (或01 22 * * * /sbin/init 0)
保存退出即可以
方法2 vi /etc/crontab 在里面插入
01 22 * * * root /sbin/shutdown -h now
或 01 22 * * * root /sbin/init 0
另注:cron是命令的名稱 crontab是配置cron啟動文件的命令