計劃任務(wù)管理
1、at命令—— 一次性任務(wù)設(shè)置
在指定的日期、時間點自動執(zhí)行預(yù)先設(shè)置的一些命令操作,屬于一次性計劃任務(wù)
服務(wù)腳本名稱:/etc/init.d/atd
設(shè)置格式:at [HH:MM] [yyyy-mm-dd]
[root@localhost ~]# service atd start ==>啟動atd服務(wù) [root@localhost ~]# at 11:35 at> reboot at>==>按ctrl + D 提交任務(wù),則自動進入這里 job 1 at 2013-03-16 11:35 [root@localhost ~]# atq 1 2013-03-16 11:35 a root
==>接下來我郁悶了好久,因為等了3分鐘還沒有結(jié)果,我是11:30分設(shè)置的這個計劃任務(wù),按道理早應(yīng)該重啟了,之后才發(fā)現(xiàn),原來我虛擬機的時鐘和我自己的電腦不同步,我自己的電腦快了5分鐘,啊。。。白白等了N個3分鐘還在不斷找原因,執(zhí)行了date命令才發(fā)現(xiàn)原來現(xiàn)在才11:30。。。
2、crontab命令
按照預(yù)先設(shè)置的時間周期(分鐘、小時、天……)重復(fù)執(zhí)行用戶指定的命令操作,屬于周期性計劃任務(wù)
(1)、先來看一下/etc/crontab文件的內(nèi)容:
[root@localhost ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts ==>這里分別設(shè)置了每小時每天每星期每月定期執(zhí)行的任務(wù)腳本分別存放在這些目錄中 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
注意:
啟用周期性任務(wù)有一個前提條件,即對應(yīng)的系統(tǒng)服務(wù)crond必須已經(jīng)運行;
全局配置和系統(tǒng)默認配置中的內(nèi)容一般不需要用戶去修改,用戶只需設(shè)置/var/spool/cron/目錄下與本帳號同名的文件即可
。2)、管理cron計劃任務(wù)
編輯計劃任務(wù):crontab -e [-u 用戶名]
查看計劃任務(wù):crontab -l [-u 用戶名]
刪除計劃任務(wù):crontab -r [-u 用戶名]
(root用戶可以管理指定用戶的計劃任務(wù);普通用戶只能管理自己的計劃任務(wù))
(備注:用戶只需執(zhí)行“crontab -e”命令后會自動調(diào)用文本編輯器(默認為vi)并打開“/var/spool/cron/用戶名”文件,無需手動指定文件位置)
(3)、crontab應(yīng)用簡單舉例
1)、示例1:root用戶
需求: 每天早上7:50自動開啟sshd服務(wù),22點50時關(guān)閉
每隔5天清空一次FTP服務(wù)器公共目錄/var/ftp/pub
每周六的7:30時,重新啟動httpd服務(wù)
每周一、三、五的17:30時,打包備份/etc/httpd目錄
[root@localhost ~]# crontab -e 50 7 * * * /sbin/service sshd start 50 22 * * * /sbin/service sshd stop 0 * */5 * * /bin/rm -rf /var/ftp/pub/* 30 7 * * 6 /sbin/service httpd restart 30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd
2)、示例2:linuxidc用戶
需求:每周日晚上23:55時將“/etc/passwd”文件的內(nèi)容復(fù)制到宿主目錄中,保存為pwd.txt文件
[root@localhost ~]# crontab -e -u linuxidc 55 23 * * 7 /bin/cp /etc/passwd /home/linuxidc/pwd.txt
3)、示例3:
root用戶查看自己的計劃任務(wù)列表;查看并刪除linuxidc用戶設(shè)置的計劃任務(wù)
[root@localhost root]# crontab -l 50 7 * * * /sbin/service sshd start 50 22 * * * /sbin/service sshd stop 0 * */5 * * /bin/rm -rf /var/ftp/pub/* 30 7 * * 6 /sbin/service httpd restart 30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd
[root@localhost root]# crontab -l -u linuxidc 55 23 * * 7 /bin/cp /etc/passwd /home/linuxidc/pwd.txt [root@localhost root]# crontab -r -u linuxidc [root@localhost root]# crontab -l -u linuxidc no crontab for linuxidc [root@localhost root]#
從上面這3個例子簡單總結(jié)一下crontab任務(wù)的配置格式:
。1) 時間周期設(shè)置: 任務(wù)內(nèi)容設(shè)置:
50 3 2 1 * run_command
分鐘 小時 日期 月份 星期 命令
字段 |
說明 |
分鐘 |
取值為從0到59之間的任意整數(shù) |
小時 |
取值為從0到23之間的任意整數(shù) |
日期 |
取值為從1到31之間的任意整數(shù) |
月份 |
取值為從1到12之間的任意整數(shù) |
星期 |
取值為從0到7之間的任意整數(shù),0或7代表星期日 |
命令 |
要執(zhí)行的命令或程序腳本 |
2015職稱計算機考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |