工作調度--cron

工作調度
----

**cron**

作用:每次到給定的時間都要執行該任務

例如:我要每年閨蜜過生日都要給他發送email,每天晚上凌晨2點更新數據庫,每隔5分鐘向qys的郵箱發送系統日誌文件……

預備工作:

由於我的虛擬機是完全安裝,所以這些包都有,如果沒有自行安裝,現在進行查詢

[root@linuxclient ~]# rpm -qa|grep cron
cronie-anacron-1.4.4-2.el6.i686
crontabs-1.10-32.1.el6.noarch
cronie-1.4.4-2.el6.i686

查看狀態

[root@linuxclient ~]# service crond status
crond (pid 2328) is running...

各種文件:

循環調度分爲系統調度和用戶自定義調度,他們保存在`/etc/crontab`中

[root@linuxclient ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# 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
# | | | | |
# * * * * * command to be executed

以下查看系統會主動做的一些循環調度,比如`logwatch`日誌監視(所以`root`下的`mail`纔會有好多`logwatch`發來的文件)

[root@linuxclient ~]# ls -l /etc/cron.daily/
total 44
-rwxr-xr-x. 1 root root 133 Sep 21 2005 00webalizer
-rwxr-xr-x. 1 root root 265 Dec 2 2009 0logwatch
-rwxr-xr-x. 1 root root 2243 Jun 24 2010 certwatch
-rwxr-xr-x. 1 root root 118 Jul 16 2010 cups
-rwxr-xr-x. 1 root root 979 Jun 9 2010 cyrus-imapd
-rwxr-xr-x. 1 root root 196 Jun 24 2010 logrotate
-rwxr-xr-x. 1 root root 905 Jun 24 2010 makewhatis.cron
-rwxr-xr-x. 1 root root 174 May 20 2009 mlocate.cron
-rwxr-xr-x. 1 root root 2126 Apr 23 2010 prelink
-rwxr-xr-x. 1 root root 563 Mar 24 2010 readahead.cron
-rwxr-xr-x. 1 root root 365 Oct 16 2009 tmpwatch

同`at`一樣,有`/etc/cron.allow`和`/etc/cron.deny`

命令行:

crontab -e
*/1 * * * * date >> /home/date1.txt
[root@linuxclient ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab

解釋:使用crontab -e 可以對循環調度進行編輯,也就是打開了一個vim編輯器,在裏面添加的是每分鐘將系統時間寫進/home/date1.txt這個文件中,*的順序是:每隔一分鐘(/表示每隔),任一小時,任一天,任一月,任一週。
保存成功後會有提示信息。

查看狀態:(確實正在做這件事……)

[root@linuxclient ~]# cat /home/date1.txt
Sat Dec 12 00:07:02 EST 2015
Sat Dec 12 00:08:01 EST 2015

其他命令:

查看任務:

[root@linuxclient ~]# crontab -l
* * * * * date >> /home/date1.txt

刪除全部任務:

[root@linuxclient ~]# crontab -r
[root@linuxclient ~]# crontab -l
no crontab for root

如果不想刪除全部,就`crontab -e` 去vim中一個一個地刪除。

發佈了31 篇原創文章 · 獲贊 11 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章