1. 程式人生 > >linux定時執行指令碼

linux定時執行指令碼

Linux中,週期執行的任務一般由cron這個守護程序來處理。cron讀取一個或多個配置檔案,這些配置檔案中包含了命令列及其呼叫時間。cron的配置檔案稱為“crontab”,是“cron table”的簡寫。

回到頂部

1. cron服務【Ubuntu環境】

檢視cron狀態

1sudo  service cron status 

開啟cron

1sudo /etc/init.d/cron start

關閉cron

1sudo /etc/init.d/cron stop

重啟cron

1sudo /etc/init.d/cron restart

  

回到頂部

2. crontab用法

crontab –e : 修改 crontab 檔案,如果檔案不存在會自動建立。 
crontab –l : 顯示 crontab 檔案。 
crontab -r : 刪除 crontab 檔案。
crontab -ir : 刪除 crontab 檔案前提醒使用者。

在crontab檔案中寫入需要執行的命令和時間,該檔案中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後一個域是要被執行的命令。每個域之間使用空格或者製表符分隔。格式如下: 

minute hour day-of-month month-of-year day-of-week commands    

合法值為:00-59 00-23 01-31 01-12 0-6 (0 is sunday) 

除了數字還有幾個特殊的符號:"*"、"/"和"-"、","

  • *代表所有的取值範圍內的數字
  • "/"代表每的意思,"/5"表示每5個單位
  • "-"代表從某個數字到某個數字
  • ","分開幾個離散的數字

:commands 注意以下幾點

  • 要是存在檔案,要寫絕對路徑
  • 即使是列印也不會顯示在顯示屏,在後臺執行,最好重定向日誌
回到頂部

3. 編輯crontab檔案

123EDITOR=viexport EDITORcrontab -e
回到頂部

4. 流程舉例

step1:寫cron指令碼檔案,命名為crontest.cron。

15,30,45,59 * * * * echo "xgmtest....."     表示,每隔15分鐘,執行一次列印命令 

step2:新增定時任務。執行命令

1crontab /home/del/crontest.cron >~/log

step3:"crontab -l" 檢視定時任務是否成功或者檢測/var/spool/cron下是否生成對應cron指令碼

1crontab -l

結果程式會每個15分鐘往腳本里寫一次“xgmtest.....”

回到頂部

5. 幾個例子

12345678910111213141516171819202122232425262728293031323334353637383940414243444546每天早上6點 0 6 * * * echo "Good morning." >> /tmp/test.txt //注意單純echo,從螢幕上看不到任何輸出,因為cron把任何輸出都email到root的信箱了。每兩個小時(第一個為15,指明沒兩個小時的第15min中執行一次) 15 */2 * * * echo "Have a break now." >> /tmp/test.txt  晚上11點到早上8點之間每兩個小時和早上八點 0 23-7/28 * * * echo "Have a good dream" >> /tmp/test.txt每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點 0 11 4 1-3 command line11日早上4點 0 4 1 1 * command line每小時(第一分鐘)執行/etc/cron.hourly內的指令碼01 * * * * root run-parts /etc/cron.hourly每天(凌晨402)執行/etc/cron.daily內的指令碼02 4 * * * root run-parts /etc/cron.daily 每星期(週日凌晨422)執行/etc/cron.weekly內的指令碼22 4 * * 0 root run-parts /etc/cron.weekly 每月(1號凌晨442)去執行/etc/cron.monthly內的指令碼 42 4 1 * * root run-parts /etc/cron.monthly 注意:  "run-parts"這個引數了,如果去掉這個引數的話,後面就可以寫要執行的某個指令碼名,而不是資料夾名。   

相關推薦

linux定時執行指令碼

Linux中,週期執行的任務一般由cron這個守護程序來處理。cron讀取一個或多個配置檔案,這些配置檔案中包含了命令列及其呼叫時間。cron的配置檔案稱為“crontab”,是“cron table”的簡寫。回到頂部1. cron服務【Ubuntu環境】檢視cron狀態1s

linux定時執行shell指令碼

寫一個shell指令碼,定時執行簡單示例 很多時候我們有希望伺服器定時去執行一個指令碼來觸發一個操作,比如說定時去備份伺服器資料、資料庫資料等 不適合人工經常做的一些操作這裡簡單說下 Shell俗稱殼,類似於DOS下的command和後來的cmd.exe。它接收使用者

使用crontab,讓linux定時執行shell指令碼

使用crontab你可以在指定的時間執行一個shell指令碼或者一系列Linux命令。例如系統管理員安排一個備份任務使其每天都執行 入門 # crontab –e 這樣可以已編輯模式打開個人的crontab配置檔案,然後加入一下這行: 0 0 * * * /home

linux 定時執行shell指令碼 定時任務

在oracle 中可以利用dbms_job包定時執行pl/sql、sql過程,在像備份等需要在作業系統級定時任務只能採用crontab來完成 本文講述crontab具體用法,以供備忘. 在oracle 中可以利用dbms_job包定時執行pl/sql、sql過程,在

Linux定時執行指令碼

這個格式的前一部分是對時間的設定,後面一部分是要執行的命令,如果要執行的命令太多,可以把這些命令寫到一個腳本里面,然後在這裡直接呼叫這個指令碼就可以了,呼叫的時候記得寫出命令的完整路徑。時間的設定我們有一定的約定,前面五個*號代表五個數字,數字的取值範圍和含義如下:

linux定時執行命令指令碼——crontab

Linux中,週期執行的任務一般由cron這個守護程序來處理  ps -ef | grep cron cron讀取一個或多個配置檔案,這些配置檔案中包含了命令列及其呼叫時間。cron的配置檔案稱為“crontab”,是“cron table”的簡寫。一、 cron在3個地方查

Linux計劃任務定時執行指令碼

因工作需要進行大量的資料測試,所以寫了個計劃任務 1 在linux中啟動crontab服務:/etc/init.d/crond start 2 crontab的格式: #crontab -u <-l, -r, -e> -u指定一個使用者 -l列出某個使用

linux 定時執行shell指令碼

在oracle 中可以利用dbms_job包定時執行pl/sql、sql過程,在像備份等需要在作業系統級定時任務只能採用crontab來完成 本文講述crontab具體用法,以供備忘. 在oracle 中可以利用dbms_job包定時執行pl/sql、sql過程,在像備份等

Linux下使用crontab命令定時執行指令碼

crontab是什麼 crontab怎麼使用 假設現在有這麼個場景:每天早上6點,執行一段指令碼,這段指令碼輸出Hello World到控制檯上。 可以這麼做: 編寫列印資訊的shell指

crontab定時執行指令碼linux下)

Linux有一個稱為crond的守護程式,主要功能是週期性地檢查 /var/spool/cron目錄下的一組命令檔案的內容,並在設定的時間執行這些檔案中的命令。使用者可以通過crontab 命令來建立、修改、刪除這些命令檔案。 例如,建立檔案crondFile,內容為“0

LINUX定時執行SHELL指令碼實現DB2資料庫操作,crontab無法正常識別執行

LINUX定時執行SHELL指令碼實現DB2資料庫操作。首先建立shell指令碼[注意:必須要設定匯出一下相關命令(DB2)的環境變數,否則crontab無法正常識別執行]。然後使用crontab建立定時任務。

使用crontab,讓linux定時執行shell腳本

表示 inux 包含 tor span 之間 line mage sun 閱讀目錄 1. cron服務【Ubuntu環境】 2. crontab用法 3. 編輯crontab文件 4. 流程舉例 5. 幾個例子 Linux中,周期執行的任務一般由cron

Linux定時執行PHP

log 表示 body 分享圖片 res nth 特殊 == start 1、使用crond服務    crontab -e #編輯任務列表 crontab -l #展示任務列表 26 15 * * * /usr/local/php70/bin/php -q /dat

Linux 定時執行shell腳本命令之crontab

定時備份 star art www. 服務器 啟動 and .sh 日誌 crontab可以在指定的時間執行一個shell腳本以及執行一系列Linux命令 例如:服務器管理員定時備份數據庫數據、日誌等 詳解: 常用命令: crontab –e

當網站出現502時,若重啟PHP能成功,則執行如下操作 (Linux定時執行.php檔案)

問題:我的伺服器在一段時間的時候,執行幾百個網站時出現了502錯誤,通過我的分析,時php-fpm承受不了多個網站的壓力,就出現崩潰,那麼這是就需要在網站出現502時,重啟php-fpm解決(或者你可以選擇優化php-fpm的效能) 解決思路:當網站出現502時,若重啟PHP能成功,那麼就需要在

linux crontab執行指令碼中文亂碼問題

在linux中寫了個定時指令碼,其中包含中文字元。指令碼手動執行一切正常,但是使用crontab執行後發現日誌中應該出現中文的地方全是???等亂碼。 分析出原因肯定是環境變數的問題。因為Unix/Linux下使用crontab時的執行環境已經不是使用者環境了,因此原本使用者下的一些環境變數的設

樹莓派學習筆記——crontab定時執行指令碼

crontab定時執行指令碼 如果在玩樹莓派的過程中,我們需要定時或者定期的執行一些程式或指令碼,這裡有個好方法,就是Linux下的 crontab。 通常會用到的就是兩個命令: 檢視已有的定時任務 [email protected]:~ $ cront

linux定時執行任務crontab

crontab 檔案的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} o minute: 區間為 0 – 59 o hour: 區間為0 – 23 o da

java遠端連線linux執行指令碼命令

1.maven的POM.xml需要配置包 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</artifac

PHP關於定時執行指令碼的幾種方法

因為需要,需要向一個API介面抓取資料並存儲到本地資料庫,因為介面更新時間不固定,所以抓取需要每隔3秒請求抓取一次。 針對這種情況,去查詢資料,並找出以下幾種解決方案。 一:使用linux的定時任務shell指令碼,使用shell命令,curl指定介面,來連結資料庫並存儲