linux中crontab是乙個用於很方便定時任務的工具。比如說定時跑指令碼處理等等。crontab檔案包含送交cron守護程序的一系列作業和指令。每個使用者可以擁有自己的crontab檔案;同時,作業系統儲存乙個針對整個系統的crontab檔案,該檔案通常存放於/etc或者/etc之下的子目錄中,而這個檔案只能由系統管理員來修改。
crontab命令:
1.引數:
-e [username]: 執行文字編輯器來設定時程表,內定的文字編輯器是 vi
-r [username]: 刪除目前的時程表
-l [username]: 列出目前的時程表
2.將當前crontab的任務匯出到檔案:
crontab > crontab.temp
3.將批量任務匯入到crontab中:
crontab crontab.temp
4.下面給出crontab定時啟動指令碼的例子
step 1:crontab -e 編輯定時任務配置
step 2:*/1 * * * * sh /home/***/cheng_python/hello.sh >> /home/**/log.txt 重定向到log.txt
step 3: 儲存就 crontab: installing new crontab 說明已經開始執行了#!/bin/sh
source && /home/***/.bashrc
echo "hello"這就可以在每分鐘列印到log.txt中了。
因為crontab可能有時無法執行使用者家目錄下面的兩個檔案,分別是.bashrc和.bash_profile。
這二個檔案的作用:
.bashrc作用是用於bash shell的bash資訊,當登入時及每次開啟新的shell時,該檔案被讀取;
.bash_profile作用是每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!
預設情況下,設定一些環境變數,執行使用者的.bashrc檔案。
因此,要手動在crontab檔案中新增source /home/****/.bashrc
crontab中經常配置執行指令碼輸出為:>/dev/null 2>&1,來避免crontab執行中有內容輸出。
shell命令的結果可以通過『> 』的形式來定義輸出
/dev/null 代表空裝置檔案
> 代表重定向到**,例如:echo "123" > /home/123.txt
1 表示stdout標準輸出,系統預設值是1,所以">/dev/null"等同於"1>/dev/null"
2 表示stderr標準錯誤
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1
那麼重定向輸出語句的含義:
1>/dev/null 首先表示標準輸出重定向到空裝置檔案,也就是不輸出任何資訊到終端,不顯示任何資訊。
2>&1 表示標準錯誤輸出重定向等同於標準輸出,因為之前標準輸出已經重定向到了空裝置檔案,所以標準錯誤輸出也重定向到空裝置檔案。
Liunx系統定時任務時間設定Crontab的格式
第1列分鐘1 59 第2列小時1 23 0表示子夜 第3列日1 31 第4列月1 12 第5列星期0 6 0表示星期天 第6列要執行的命令 下面是crontab的格式 分 時 日 月 星期 要執行的命令 這裡有crontab檔案條目的一些例子 30 21 usr local apache bin a...
ubuntu系統建立定時任務之crontab
cron是乙個linux定時執行工具,可以在無需人工干預的情況下執行作業。在ubuntu server 下,cron是被預設安裝並啟動的。通過 etc crontab檔案,可以看到以下內容 ununtu 通過呼叫 run parts 命令,定時執行四個目錄下的所有指令碼。1 etc cron.hou...
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...