国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Linux之定時任務Crond詳解

2024-09-01 13:51:43
字體:
來源:轉載
供稿:網友

定時任務Crond介紹

Crond是linux系統中用來定期執行命令/腳本或指定程序任務的一種服務或軟件,一般情況下,我們安裝完Centos5/6 linux操作系統之后,默認便會啟動Crond任務調度服務。

Crond服務會定期(默認每分鐘檢查一次)檢查系統中是否有要執行的任務工作,如果有,便會根據其預先設定的定時任務規則自動執行該定時任務工作,這個crond定時任務服務就相當于我們平時早起使用的鬧鐘一樣。 

必須保留的啟動服務:

  1. crond:定時任務服務
  2. network:網絡服務
  3. rsyslog:日志服務
  4. sshd:遠程鏈接服務
  5. sysstat:系統監控服務(涉及一系列監控工具)

linux,crond,定時執行,crond定時任務,liux

為什么要使用定時任務呢?

我們舉個例子說明:例如,我們的數據庫或者代碼程序需要每天晚上0點做一次全備份,這樣每天夜里都需要執行的周期性工作,如果要讓人操作的話,就得每天半夜爬起來,然后登錄系統執行任務,執行完接著睡覺。另外,執行任務的過程也可能持續幾個小時,這樣一來,一個晚上我們就都不用睡覺了,這樣顯然是不行的。那么有什么辦法來解決這個周期性的執行任務需求呢?

這就是linux系統的定時任務Crond,這相當于我們平時生活中的鬧鐘功能,每天晚上提前設置定時,早晨按時叫醒你。

ls -l /var/log/messages* #系統的日志ls -l /var/log/secure* #用戶登錄日志

用戶執行的任務工作:某個用戶或系統管理員定期要做的任務工作,例如每隔5分鐘和互聯網上時間服務器進行時間同步(這是安裝系統基礎優化部分的內容),每天晚上0點備份網站站點數據及數據庫數據,一般這些工作需要由每個運維自行設置才行。

服務器時間同步

 

復制代碼 代碼如下:

echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov > /dev/null 2>&1" >> /var/spool/cron/root

 

可通過上面的命令設置每5分鐘執行一次。每次將互聯網時間同步到本地Linux系統。

crontab -l 查看當前用戶的定時任務配置。*號 下面會詳講~~

time.nist.gov是NTP服務器地址 time.windows.com,微軟自家的時間服務器。 更多請參考 ==> 國內常用NTP服務器地址及IP

linux,crond,定時執行,crond定時任務,liux

crontab(命令):正如前面所說的這個命令可以周期性的執行任務工作,例如:每五分鐘做一次服務器時間同步。要執行crontab這個命令,也需要啟動一個服務crond才行。這個crontab命令是生產工作中最常用到的命令,請大家務必掌握。

1、開機自啟動crond服務

linux,crond,定時執行,crond定時任務,liux

2、此時此刻服務的狀態(查看,開啟,關閉)

linux,crond,定時執行,crond定時任務,liux

3、如何查看進程

ps -ef | grep crond

linux,crond,定時執行,crond定時任務,liux

小結提示:

  • 我們所說的crond服務是運行的程序,而crontab是用來管理用戶的定時任務(規則)的命令
  • crond服務是企業生產工作中常用的重要服務,at和anacron很少用,可以忽略
  • 幾乎每個服務器都會用到crond服務
  • 上千服務器可以開發分布式定時任務項目方案(批量管理ansible/saltstack)

 定時任務Crond使用說明

[root@chengliang ~]# crontab --helpcrontab: invalid option -- '-'crontab: usage error: unrecognized optionusage: crontab [-u user] file  crontab [-u user] [ -e | -l | -r ]    (default operation is replace, per 1003.2)  -e (edit user's crontab)  -l (list user's crontab)  -r (delete user's crontab)  -i (prompt before deleting user's crontab)  -s (selinux context)[root@chengliang ~]# 
  1. crontab -l 查看當前用戶的定時任務配置
  2. crontab -e 進入當前用戶的定時任務vim編輯模式
  3. crontab -u 用戶名 -l 查看指定用戶的定時任務設置

linux,crond,定時執行,crond定時任務,liux

 重點

通過crontab我們可以在固定的間隔時間執行指定的系統指令或script腳本。時間間隔的單位可以是分鐘,小時,日,月,周及以上的任意組合(注意:日和周不要組合)。crond服務通過crontab命令可以很容易的實現周期性的日志分析或數據備份等企業運維場景工作

linux,crond,定時執行,crond定時任務,liux

使用者權限及定時任務文件

 

文件 說明
/etc/cron.deny(拒絕) 該文件中所列用戶不允許使用crontab
/etc/cron.allow(允許) 該文件優先級高于cron.deny(默認不存在,一般不用)
/var/spool/cron/ 所有用戶crontab配置文件默認都存在此目錄,文件名以用戶名命名

 

[root@chengliang ~]# cat /etc/cron.deny zcl[root@chengliang~]# su - zcl[chensiqi@chengliang~]$ crontab -lYou (chensiqi) are not allowed to use this program (crontab)See crontab(1) for more information[zcl@chengliang~]$ crontab -eYou (chensiqi) are not allowed to use this program (crontab)See crontab(1) for more information

crontab { -l | -e } 實際上就是在操作/var/spool/cron/當前用戶這樣的文件

默認情況下,當用戶建立定時任務規則后,該規則記錄對應的配置文件會存在于/var/spool/cron中,其crontab配置文件對應的文件名與登錄的用戶名一致,如:root用戶的定時任務配置文件為/var/spool/cron/root

[root@chengliang ~]# ls /var/spool/cron/root  #默認是沒有的,只有創建了定時任務才有[root@chengliang ~]# cat /var/spool/cron/root*/5 * * * * /sbin/ntpdate time.windows.com >/dev/null 2>&1

Crontab定時任務的書寫格式很簡單,用戶的定時任務規則一般分為6個段(每個段通過空格來分隔,系統的定時任務為/etc/crontab,分為7個段,空格來分隔),前五段為時間的設定段,第六段為所要執行的命令或腳本任務段

linux,crond,定時執行,crond定時任務,liux

用戶定時任務實例:

01 * * * * cmd #每小時的01分鐘執行02 04 * * * cmd #每天4點的02分鐘執行22 14 * * 00 cmd #每周日的14點22分執行42 04 01 * * cmd #每月1日的4點42分執行

提示:

1、cmd為要執行的命令或腳本,例如:/bin/sh /server/scripts/chensiqi.sh

2、每個列之間必須要有一個空格。多個空格可以么?自己實踐  ==> 經我本人測試有多個空格也可以執行!!

時間記憶口訣:分時日月周

crontab 語法格式中特殊符號含義如下表

 

特殊符號 含義
* *號,表示任意時間都,實際就是“每”的意思
- 減號表示分隔符,表示一個時間范圍,區間段,如17-19點,例如:每天的17,18,19點的00分執行任務。00 17-19 * * * cmd
, 逗號,表示分隔時段的意思例如每天的5點10點00分執行任務,00 5,10 * * * cmd
/n n代表數字,即“每隔n單位時間”,例如:每10分鐘執行一次任務可以寫成/*10 * * * * cmd,其中,/10,的范圍是0-59,因此也可以寫成0-59/10

 

linux,crond,定時執行,crond定時任務,liux

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵山县| 扎囊县| 阿克陶县| 舞阳县| 陇西县| 南康市| 巴彦淖尔市| 都江堰市| 于田县| 宿州市| 巨野县| 盐源县| 巨鹿县| 木里| 子洲县| 陆良县| 汉中市| 乳山市| 东明县| 大宁县| 赤峰市| 宿州市| 晋江市| 明星| 卢湾区| 玉屏| 仁寿县| 华阴市| 湾仔区| 抚宁县| 十堰市| 庄河市| 清苑县| 墨玉县| 卫辉市| 昔阳县| 大竹县| 丹寨县| 阳高县| 岢岚县| 北川|