久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

linux應(yīng)用之crontab定時任務(wù)的設(shè)置

 小馬哥技術(shù)屋 2018-11-18
實現(xiàn)Linux定時任務(wù)有:cron,、anacron,、at等,這里主要介紹cron服務(wù),。
 cron是服務(wù)名稱,,crond是后臺進程,crontab則是定制好的計劃任務(wù)表,。

件包安裝:

要使用cron服務(wù),,先要安裝vixie-cron軟件包和crontabs軟件包,兩個軟件包作用如下:

vixie-cron軟件包是cron的主程序,。
crontabs軟件包是用來安裝,、卸裝、或列舉用來驅(qū)動 cron 守護進程的表格的程序,。

查看是否安裝了cron軟件包: rpm -qa|grep vixie-cron

查看是否安裝了crontabs軟件包:rpm -qa|grep crontabs


如果沒有安裝,,則執(zhí)行如下命令安裝軟件包(軟件包必須存在)
rpm -ivh vixie-cron-4.1-54.FC5*
rpm -ivh crontabs*

如果本地沒有安裝包,,在能夠連網(wǎng)的情況下可以在線安裝

yum install vixie-cron
yum install crontabs

查看crond服務(wù)是否運行:

pgrep crond

/sbin/service crond status

ps -elf|grep crond|grep -v "grep"

crond服務(wù)操作命令:

/sbin/service crond start //啟動服務(wù)  
/sbin/service crond stop //關(guān)閉服務(wù)  
/sbin/service crond restart //重啟服務(wù)  
/sbin/service crond reload //重新載入配置

配置定時任務(wù):

cron有兩個配置文件,一個是一個全局配置文件(/etc/crontab),,是針對系統(tǒng)任務(wù)的,;一組是crontab命令生成的配置文件(/var/spool/cron下的文件),是針對某個用戶的.定時任務(wù)配置到任意一個中都可以,。

查看全局配置文件配置情況: cat /etc/crontab

看用戶下的定時任務(wù):crontab -l或cat /var/spool/cron/用戶名


crontab任務(wù)配置基本格式:
*   *  *  *  *  command
分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令

在以上任何值中,,星號(*)可以用來代表所有有效的值。譬如,,月份值中的星號意味著在滿足其它制約條件后每月都執(zhí)行該命令,。
整數(shù)間的短線(-)指定一個整數(shù)范圍。譬如,,1-4 意味著整數(shù) 1,、2、3,、4,。
用逗號(,)隔開的一系列值指定一個列表。譬如,,3, 4, 6, 8 標明這四個指定的整數(shù),。
正斜線(/)可以用來指定間隔頻率。在范圍后加上 /<integer> 意味著在范圍內(nèi)可以跳過 integer,。譬如,,0-59/2 可以用來在分鐘字段定義每兩分鐘。間隔頻率值還可以和星號一起使用,。例如,,*/3 的值可以用在月份字段中表示每三個月運行一次任務(wù)。
開頭為井號(#)的行是注釋,,不會被處理,。 

例子:

0 1 * * * /home/testuser/test.sh
每天晚上1點調(diào)用/home/testuser/test.sh

*/10 * * * * /home/testuser/test.sh
每10鐘調(diào)用一次/home/testuser/test.sh

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重啟apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1,、10,、22日的4 : 45重啟apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六,、周日的1 : 10重啟apache,。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重啟apache,。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小時重啟apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11點到早上7點之間,,每隔一小時重啟apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4號與每周一到周三的11點重啟apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一號的4點重啟apache

*/30 * * * * /usr/sbin/ntpdate 210.72.145.44
每半小時同步一下時間


配置用戶定時任務(wù)的語法:

crontab [-u user]file

crontab [-u user] [-l| -r | -e][-i]

參數(shù)與說明:

crontab -u//設(shè)定某個用戶的cron服務(wù)

crontab -l//列出某個用戶cron服務(wù)的詳細內(nèi)容

crontab -r//刪除沒個用戶的cron服務(wù)

crontab -e//編輯某個用戶的cron服務(wù)例子:

假設(shè)當前用戶是root,要建立root用戶的定時任務(wù)

crontab -e

選擇編輯器,,編輯定時任務(wù)(這里假設(shè)是編輯器是vi)

按i進入編輯模式

0 1 * * * /root/test.sh

按esc退出編輯模式進入普通模式,,輸入:x或:wq保存退出

查看剛剛輸入的定時任務(wù)

crontab -l 或 cat /var/spool/cron/root

根用戶以外的用戶可以使用 crontab 工具來配置 cron 任務(wù),。所有用戶定義的 crontab 都被保存在 /var/spool/cron 目錄中,并使用創(chuàng)建它們的用戶身份來執(zhí)行,。要以某用戶身份創(chuàng)建一個 crontab 項目,,登錄為該用戶,然后鍵入 crontab -e 命令,,使用由 VISUAL 或 EDITOR 環(huán)境變量指定的編輯器來編輯該用戶的 crontab,。該文件使用的格式和 /etc/crontab 相同。當對 crontab 所做的改變被保存后,,該 crontab 文件就會根據(jù)該用戶名被保存,,并寫入文件 /var/spool/cron/username 中。
      cron 守護進程每分鐘都檢查 /etc/crontab 文件,、etc/cron.d/ 目錄、以及 /var/spool/cron 目錄中的改變,。如果發(fā)現(xiàn)了改變,,它們就會被載入內(nèi)存。這樣,,當某個 crontab 文件改變后就不必重新啟動守護進程了,。

重啟crond:

/sbin/service crond restart

查看cron服務(wù)是否起作用:

如果我們要查看定時任務(wù)是否準時調(diào)用了可以/var/log/cron中的運行信息

cat /var/log/cron

grep .*\.sh /var/log/cron

搜索.sh類型文件信息

sed -n '/back.*\.sh/p' /var/log/cron
格式sed -n '/字符或正則表達式/p' 文件名

我們在日志中查看在約定的時間是否有相應(yīng)的調(diào)用信息,調(diào)用信息類似:

Sep 19 1:00:01 localhost crond[25437]: (root) CMD (/root/test.sh)

查看shell腳本是否報錯:

如果/var/log/cron中準時調(diào)用了shell腳本,,而又沒有達到預(yù)期結(jié)果,,我們就要懷疑shell腳本是否出錯

cat /var/spool/mail/用戶名

例子:

cat /var/spool/mail/root

 

test.sh

-------------------------

#!/bin/sh

echo "$(date '+%Y-%m-%d %H:%M:%S') hello world!" >> /root/test.log

-------------------------

要追蹤shell調(diào)用的全過程:

bash -xv test.sh 2>test.log

test.sh的調(diào)用過程都會寫到test.log中

改寫test.sh

 

-------------------------

#!/bin/sh

set -xv

echo "$(date '+%Y-%m-%d %H:%M:%S') hello world!" >> /root/test.log

-------------------------

sh ./test.sh 2>tt.log

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多