1. 程式人生 > >linux curl定時任務

linux curl定時任務

1. Linux的定時任務設定在/etc/crontab檔案中,使用命令檢視

  1. cat /etc/crontab  

在/etc目錄下有一個crontab檔案,這裡存放有系統執行的一些排程程式。每個使用者可以建立自己的排程crontab。

2. 定時任務的使用者設定在/etc/cron.deny 和 /etc/cron.allow 檔案

/etc/cron.deny 表示不能使用crontab 命令的使用者 /etc/cron.allow 表示能使用crontab的使用者。 如果兩個檔案同時存在,那麼/etc/cron.allow 優先。 如果兩個檔案都不存在,那麼只有超級使用者可以安排作業。

本機沒有設定,因此列印結果如上圖所示。

每個使用者都會生成一個自己的crontab 檔案。這些檔案在/var/spool/cron目錄下:

本機的定時任務是root使用者,打印出root後的內容如下:


這裡要解釋某些shell命令的意思:

  1. 00 * * *  find /opt/app/log/ -type f -mtime +30 -exec rm {} \;   
就是每天0點0分的時候找到/opt/app/log/ 檔案下面所有時間大於30天的檔案,然後刪除它們。

相關的主要知識點:find命令:

find pathname -options [-print -exec -ok]
find命令有很多選項或表示式,每一個選項前面跟隨一個橫槓-。讓我們先來看一下該命令的主要選項,然後再給出一些例子。


-name 按照檔名查詢檔案。
-perm 按照檔案許可權來查詢檔案。
-prune 使用這一選項可以使f i n d命令不在當前指定的目錄中查詢,如果同時使用了-depth選項,那麼-prune選項將被find命令忽略。
-user 按照檔案屬主來查詢檔案。
-group 按照檔案所屬的組來查詢檔案。
-mtime -n or +n按照檔案的更改時間來查詢檔案,-n表示檔案更改時間距現在n天以內,+n表示檔案更改時間距現在n天以前。find命令還有-atime和-ctime選項,但它們都和-mtime選項相似,所以我們在這裡只介紹-mtime選項。
-nogroup 查詢無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在。

-nouser 查詢無有效屬主的檔案,即該檔案的屬主在/etc/password中不存在。
-newer file1 ! file2 查詢更改時間比檔案file1新但比檔案file2舊的檔案。
-type 查詢某一型別的檔案,諸如:
b - 塊裝置檔案。
d - 目錄。
c - 字元裝置檔案。
p - 管道檔案。
l - 符號連結檔案。
f - 普通檔案。
-size n[c] 查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。
-depth 在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢。
-fstype 查詢位於某一型別檔案系統中的檔案,這些檔案系統型別通常可以在配置檔案/etc/fstab中找到,該配置檔案中包含了本系統中有關檔案系統的資訊。
-mount 在查詢檔案時不跨越檔案系統mount點。
-follow 如果find命令遇到符號連結檔案,就跟蹤至連結所指向的檔案。
-cpio 對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。

exec命令:
-exec 引數後面跟的是 command命令,注意點如下:
command命令的終止,使用 ';' (分號)來判定,在後面必須有一個 ';'
'{}',使用{}來表示檔名,也就是find前面處理過程中過濾出來的檔案,用於command命令進行處理
特別強調,對於不同的系統,直接使用分號可能會有不同的意義, 使用轉義符 '\'在分號前明確說明,對於前面我們遇到的問題,主要就是這個原因引起的!

3.cron的語法:

cron檔案語法:

      分     小時    日       月       星期     命令

      0-59   0-23   1-31   1-12     0-6     command     (取值範圍,0表示週日一般一行對應一個任務)

     記住幾個特殊符號的含義:

         “*”代表取值範圍內的數字,
         “/”代表”每”,
         “-”代表從某個數字到某個數字,
         “,”分開幾個離散的數字

4.任務排程設定檔案的寫法
      可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應使用者的cron檔案,也可以直接修改/etc/crontab檔案
     具體格式如下:
      Minute Hour Day Month Dayofweek   command
      分鐘     小時   天     月       天每星期       命令
     每個欄位代表的含義如下:
     Minute             每個小時的第幾分鐘執行該任務
     Hour               每天的第幾個小時執行該任務
     Day                 每月的第幾天執行該任務
     Month             每年的第幾個月執行該任務
     DayOfWeek     每週的第幾天執行該任務
     Command       指定要執行的程式
     在這些欄位裡,除了“Command”是每次都必須指定的欄位以外,其它欄位皆為可選

    欄位,可視需要決定。對於不指定的欄位,要用“*”來填補其位置。
    舉例如下:
    5       *       *           *     *     ls             指定每小時的第5分鐘執行一次ls命令
    30     5       *           *     *     ls             指定每天的 5:30 執行ls命令
    30     7       8         *     *     ls             指定每月8號的7:30分執行ls命令
    30     5       8         6     *     ls             指定每年的6月8日5:30執行ls命令
    30     6       *           *     0     ls             指定每星期日的6:30執行ls命令[注:0表示星期天,1表示星期1,

    以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]

   30     3     10,20     *     *     ls     每月10號及20號的3:30執行ls命令[注:“,”用來連線多個不連續的時段]

    25     8-11 *           *     *     ls       每天8-11點的第25分鐘執行ls命令[注:“-”用來連線連續的時段]

    */15   *       *           *     *     ls         每15分鐘執行一次ls命令 [即每個小時的第0 15 30 45 60分鐘執行ls命令 ]

     30   6     */10         *     *     ls       每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls 命令。 ]

     每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行檔案

     50   7       *             *     *     root     run-parts     /etc/cron.daily   [ 注:run-parts引數表示,執行後面目錄中的所有可執行檔案。 ]

5. 新增排程任務

     新增排程任務可用兩種方法:
       1)、在命令列輸入: crontab -e 然後新增相應的任務,wq存檔退出。
       2)、直接編輯/etc/crontab 檔案,即vi /etc/crontab,新增相應的任務。

       3) 在/var/spool/cron目錄下對應的使用者檔案中新增相關的shell排程命令:

        

6. 檢視排程任務
        crontab -l //列出當前的所有排程任務
        crontab -l -u jp   //列出使用者jp的所有排程任務


*/1 * * * * /usr/bin/curl  http://172.16.0.106/index.php/Home/Index/crons   每分鐘訪問這個URL一次

相關推薦

linux curl定時任務

1. Linux的定時任務設定在/etc/crontab檔案中,使用命令檢視 cat /etc/crontab   在/etc目錄下有一個crontab檔案,這裡存放有系統執行的一些排程程式。每個使用者可以建立自己的排程crontab。 2. 定時任務的使用者

linux新建定時任務

.sh div 定義 roc hour rac acl 一行 表示 linux/aix 使用crontab -e命令,再最後一行加入改功能腳本,例如: 10 12 * * * sh /oracle/orabak/orabak.sh 關於linux下crontab的使用  

Linux Crontab定時任務

crontab 定時任務 linux定時任務 定時腳本 一、說明很多項目需要設置一定服務器的定時任務Crontab來實現一些腳本功能,所以在這裏整理總結一下。環境:linux + centos6.8二、準備1、查看服務器的crontab是否在服務器狀態service crond status啟

Linux crontab 定時任務命令詳解

-1 data new ubuntu 時間間隔 服務 run back use Linux Crontab 定時任務 命令詳解 [日期:2016-02-13] 來源:Linux社區 在工作中需要數據庫在每天零點自動備份所以需要建立一個定時任務.我選擇在Linux下使用

Linux crond 定時任務

linux基礎配置文件,一般不需要管這類題目一定要註意陷阱 每兩小時一次* */2 * * * 這樣就錯的00 */2 * * * 這樣才對如果只是某天的話,就確定日如果是每周某天的話,就確定周代碼、配置變更發布流程:個人開發環境——>辦公測試環境——>IDC機房測試環境——>IDC正式環境

Linux定時任務Crond使用

格式 子郵件 .com color hour blog 分鐘 16px 特定 一、用法 crond服務是linux系統自帶的服務,是不需要手動安裝的; crond服務是一種守護進程; Linux中的用戶使用contab命令來配置corn任務; crontab –e : 修

Linux - crontab 定時任務

oot pool spa pro top 時間 body second 定時 定時任務 at 5pm + 3 days /bin/ls # 單次定時任務 指定三天後下午5:00執行/bin/ls crontab -e # 編輯周期任務 #分鐘 小時 天 月 星期 命令或

Linux系統定時任務

定時任務 crontab 一、定時任務crond介紹crond是linux系統中用來定期執行命令或者指定程序任務的一種服務或者軟件。crond默認情況下(每分鐘),會檢查系統中是否有需要執行的定時任務,如果有,就會根據事先定義好的規則來執行這個定時任務。就好比生活中的鬧鐘一樣。但是註意的是crond對

老男孩Linux Crond定時任務練習題

Linux運維 Linux入門 Linux基礎 Linux定時任務 系統運維 Linux Crond定時任務練習題Crond是系統中用來定期執行命令或指定程序任務的一種服務或軟件。 嚴格的說,linux系統下的定時任務軟件不少,例如:at、crontab、anacron,其中crontab

Linux學習之九-Linux系統定時任務

天下 郵件服務 kcon 完成 zuoye p s 特殊 command nta Linux系統定時任務 在一些實際工作中需要機器在某個時間自動執行某個任務,不需要人為在此時刻參與,可以建立一個定時任務。 crond 服務是linux下用來周期性的執行某種任務或等待處理某些

linux定時任務crontab

每一個 usr mil 不同 local soft mic 情況下 設備 CRONTAB概念/介紹 crontab命令用於設置周期性被執行的指令。該命令從標準輸入設備讀取指令,並將其存放於“crontab”文件中,以供之後讀取和執行。 cr

Linux定時任務cron簡介

have 自己 定時 file sch odi oot 運行 RoCE 1.1 特殊權限u+s /o+t [root@oldboyedu50-lnb ~]# ls -ld /bin/ls /usr/bin/passwd /tmp/ /usr/bin/locate

linux定時任務計劃的使用

pool echo 分鐘 bash copy 任務計劃 單引號 example 情況 一、定時任務之at實現; PS:本次操作以CentOS 7.5為實驗環境; 1.1、at軟件包說明 最小化安裝,可能沒有at或atq這個命令,at來自於軟件包at,如果yum能用,直

Linux定時任務排程

一、crond 任務排程 crontab 進行 定時任務的設定 1、 概述 任務排程:是指系統在某個時間執行的特定的命令或程式。 任務排程分類:1.系統工作:有些重要的工作必須周而復始地執行。如病毒掃描等 2、 基本語法 crontab [選項] 常用選

Linux設定定時任務crontab命令

1、  crontab命令概念 crontab命令用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於“crontab”檔案中,以供之後讀取和執行。 cron 系統排程程序。 可以使用它在每天的非高峰負荷時間段執行作業,或在一週或一月中的不同時段執行。cron是系統主要的排程程

linux crontab定時任務詳解

使用crontab你可以在指定的時間執行一個shell指令碼或者一系列Linux命令。例如系統管理員安排一個備份任務使其每天都執行 如何往 cron 中新增一個作業? # crontab –e0 5 * * * /root/bin/backup.sh 這將會在每天早上5點執行 /root/bin/bac

linux定時任務

crontab -e 新建/編輯一個任務 crontab -l 列出所有任務 crontab 格式: 基本格式 : *  *  *  *  *  command 分鐘 小時 日 月 星期 命令 第1列表示分鐘1~59 每分鐘用 */1表示 第2列表示小時1~23(0表示0點

Linux系統定時任務及延時任務

一.延時任務: 1.at    命令 at  命令可以指定某一任務在將來的特定時間執行。 at  時間     延時任務 ctrl+d     &n

Linux定時任務crontab

在Linux或類Unix系統中,通常使用 crontab 命令在指定的時間執行一個shell指令碼或者一系列Linux命令,也就是通常所說的定時任務。 一、cron 程序 在詳細介紹crontab之前,必須要說一下 cron 程序。 1、cron程序是linux中的守護程序

【python linux定時任務跑】crontab -e使用

/etc/crontab 就是crontab 的配置檔案 linux 下輸入命令 crontab -l 查詢當前系統使用者設定了哪些執行任務 linux 下輸入命令 crontab -r 清空當前系統使用者設定的所有任務 linux 下輸入命令 crontab -e 編輯和設定當前系統使用者要