Linux中定時任務crontab

2022-09-24 05:00:12 字數 1477 閱讀 2626

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命令是一次性定...