Linux建立定時任務

2021-08-12 00:11:34 字數 1095 閱讀 1264

在linux下,經常需要定期的執行一些指令碼從而來實現一些功能。在linux下我們用crontab來實現定期的執行指令碼這個功能,下面就介紹一下crontab的使用。以及我遇到的一些問題

crond 是linux用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。crond命令每分鐘會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。而linux任務排程的工作主要分為以下兩類:

crontab是unix系統下定期執行任務的觸發器。使用者把要定期執行的任務記錄在這個檔案下面,然後crond定期的去檢查這個定期執行列表,有要執行的工作時便自動執行。

通過man crontab可以檢視到下面的資訊:

crontab常用的幾個命令格式

crontab檔案的基本格式如下所示

*    

* *

* * command

分 時 天 月 周 命令

每列表示意義:

crontab檔案的一些例子

首先我在/home/chenguolin/tmp/ 建立乙個shell指令碼名為s.sh。注意指令碼內部的路徑使用絕對路徑。這個指令碼的功能就是把當前的日期輸出重定向到當前目錄下的out檔案

然後設定每2分鐘執行一次這個指令碼,>/dev/null 2>&1。原因是因為系統會在每次執行完任務之後就發乙個郵件告訴使用者,通過這個操作可以把資訊全部重定向到/dev/null中,/dev/null這個檔案類似**站過一段時間系統自動清理。

* 2 * * * * sh /home/chenguolin/tmp/s.sh >/dev/null 2>&1

然後發現過了n個2分鐘,out檔案根本就沒有輸出。

發現可以定時的執行指令碼。

如果還不行,那只能通過查詢log來查錯。非ubuntu的linux crond的日誌檔案儲存在/var/log下

注意下幾個問題:

ubuntu下crontab的服務程式是cron,並且預設cron服務的log是沒有的,我們必須手動開啟

ubuntu下,使用者家目錄下是沒有.bash_profile檔案的,並且會自動去執行.bashrc檔案,只要寫成下面這樣即可

linux建立定時任務

話不多說我們直接進入正題 1,首先選擇用那個程式來執行定時任務,這裡選用php 檢視php所在的路徑 root localhost html whereis php php usr bin php usr lib64 php etc php.ini etc php.d usr include php...

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

linux建立PHP定時任務

下面所有的前提是伺服器存在php環境 首先建立乙個php檔案 示例內容如下 ch curl init 設定請求 curl setopt ch,curlopt url,寫上要請求的url curl setopt ch,curlopt returntransfer,1 curl setopt ch,cu...