linux命令小結

2021-07-12 06:21:34 字數 2612 閱讀 1167

1、定時執行任務

(1)linux具有定時執行某些指定程式的功能,命令是at,用法為:

命令格式:at  《時間》↙

這裡《時間》可以使用標準時間格式串。

例1,設定在當天12:30將/root/abc檔案以電子郵件方式向使用者h1、h2傳送。可以輸入:

at  12:30↙

此時游標停在下一行,可以開始輸入要定時執行的命令:

cat /root/abc|mail –s 「file abc」h1 h2↙

如果還有其他命令,還可繼續輸入,最後以+d結束。

系統回應:

job 35 will be excuted using /bin/sh

「35」是對應作業號,此處表示使用者所提交的定時執行作業已被接納,系統會在指定時間以/bin/sh為shell執行該命令。

(2)檢視當前系統內準備定時執行作業的情況,可用:

命令格式:at -l↙

date:表示該項作業將被執行的時間。

owner:表示該項作業的擁有者。

queue:該作業所屬的佇列號,佇列號一般用單個字母表示,字母越靠後,執行優先順序也越高,預設為c。可在at命令中使用可選項「-c 《佇列號》」指定。

job#:該項作用對應的作業號。

(3)刪除正待執行的一項作業,可用:

命令格式:at  -r  《作業號》↙

在某些發布版中,命令atq起著與at –l相同的作用,atrm起著與at –r相同的作用。

(4)另外,我們也可以將一批需要定時執行的命令放入乙個shell過程文字中由at命令定時執行,具體用法是:

命令格式:at  《時間》  -f  

有時,我們希望作業能在系統負載較輕時自動執行,而不是呆板地指明乙個具體時間。

此時可用命令batch取代上述的at。用法與at類似,使用者輸入:

命令格式:batch↙

然後輸入要執行的命令,最後以+d結束,系統的回應與at類似。使用者也可用at –l列出該作業。同樣,可用at –r命令刪除batch所制訂的作業。

(*注意:在date欄下顯示的時間為作業提交的時間,而其佇列預設為e。)

以batch方式執行的作業,其結果一般以e-mail方式傳給使用者。使用者可檢視自己的郵箱。

使用-f可選項,可使batch定時執行乙個shell過程檔案。

2、crondtab檔案形式執行定時任務

定時執行要以守護程式crond為基礎。該程式在系統啟動時被執行,平時處於睡眠狀態,通常每分鐘「醒」來一次,檢查作業佇列中是否有命令要執行,

從而實現定時執行。我們除可使用at在某一時刻執行作業以外,還可利用crontab檔案實現週期性的定時執行,例如:

(1)每日下午17:30作檔案備份。

(2)每個週末正午12:00向一指定使用者發電子郵件。

(3)每月30日自動刪除某些日誌檔案。

這些工作使用at或batch命令都難以實現。

通常每個使用者都可建乙個crontab檔案存放在目錄/usr/spool/cron/crontabs(不同系統會有所不同)下,使用者可用文字編輯器編寫這個檔案,例如:

vi  mycrontab↙

檔案的格式為:

每行包括乙個《時間域》和《命令》,表示《命令》在指定的時間將被執行,而《時間域》則被空格或製表符分為5欄,分別為:

分鐘  小時  日  月  星期

例如:0,20,40  *  *  *  1-5  ls –l

表示從周一到周五,每隔20分鐘(實際上是每小時的正點、20分、40分)執行一次ls–l命令,

「*」表示「任何有效值」,同一欄中如果要指定多個值,則用「,」分隔。

例如:每週周五在下午17:30以電子郵件方式向使用者h1傳送/root/abc檔案。可在上述mycrontab檔案中加入一行:

30 17  *  *  5  cat /root/abc|mail –s「file abc」 h1

上述建立的mycrontab檔案需要執行以下命令安裝:

crontab mycrontab↙

則該檔案被複製到/usr/spool/cron/crontabs目錄下,檔名稱改為《使用者賬號》。

例如:使用者是用root註冊,則該檔名稱就是root。也可以指定使用該定時檔案的使用者,方法是:

crontab 《定時檔名稱》 [-u 《使用者賬號》]↙

要刪除乙個使用者的定時檔案,可用:

crontab -d [《使用者賬號》]↙

注意:在某些系統中,通常還會有乙個叫cron.allow的檔案,用於控制有哪些使用者能使用crontab定時執行,

使用者要使用上述功能,應首先編輯此檔案進行設定。以這種方式定時執行的作業,其輸出結果如果沒有被重定向,

一般以郵件方式送還作業的提交者。

問題1:can't open /var/run/atd.pid   ,因為服務沒有開啟。

/etc/init.d/atd status    //檢視atd定時任務服務的狀態

/etc/init.d/atd start      //啟動atd定時任務服務

問題2:普通使用者at乙個定時任務,at -l查不到?

3、查詢正在執行服務id,名字為managerserver_wls1:

kill -9 `ps -ef | grep -v grep | grep managerserver_wls1 | awk ''`

Linux命令小結

1.檢視機器的硬碟空間df h2.檢視當前系統的時間date3.重啟命令 重啟 reboot 立刻重啟 root使用者使用 shutdown r now 過10分鐘自動重啟 root使用者使用 shutdown r 10 在時間為20 35時候重啟 root使用者使用 shutdown r 20 3...

Linux 命令小結

cp 用於複製檔案或目錄 將檔案file1複製成檔案file2命令如下 cp file1 file2 cat 文字輸出命令 某個檔案的內容 linux中資料流導向 輸出重定向到乙個檔案或裝置 覆蓋原來的檔案 輸出重定向到乙個檔案或裝置 強制覆蓋原來的檔案 輸出重定向到乙個檔案或裝置 追加原來的檔案 ...

linux命令小結

1.檢視當做操作目錄位置 pwd 2.檢視 當前 目錄裡邊的檔案內容 ls list ls l 或ll 顯示檔案的詳細資訊 ls al all顯示檔案的詳細資訊 包括隱藏檔案 ls a 顯示目錄全部檔案名字 包括隱藏檔案 ls al 目錄 檢視指定目錄的檔案資訊 3.目錄的切換 cd 目錄名字 cd...