我們明天或多或少都會有一些常規性的工作,例如每週一次的週報,每天的上下班打卡,還有一些突發性的工作,例如臨時的加班,會議,需要你準備講稿等等,還有生活上的,例如每年的愛人的生日,結婚紀念日,等等。上面所有羅列出來的例行或者常規性的工作,都需要你自己記錄,不過,我們有了計算機,如果計算機可以主動通知我們是不是就輕鬆很多,這個時候linux的定時任務就派上用場了,我們可以定時讓系統提醒你,比如周的周五發乙份郵件給你提醒你需要寫週報了;再例如每年的結婚紀念日前一天發郵件告訴你改準備禮物了。這就是定時(計畫)任務:未來的某時間點執行一次某任務或者週期性的執行某個任務,執行結果會通過郵件的
形式傳送給使用者通過概念我們可以把定時(計畫)任務分類兩類:
1、定點執行一次某任務:at,batch
2、週期性的執行某任務:crontab
crond是linux下用來週期性的執行某種任務或等待處理某些事件的乙個守護程序,與windows下的計畫任務類似,大家可以使用命令:service crond status(centos6)systemctl status crond(centos7)進行檢視。crond程序定期(每分鐘)檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。使用者在cron表(也被稱為crontab檔案)指定了定時任務,crontab也就是我們常見的定時任務設定命令。linux下的任務排程分為兩類,統任務排程和使用者任務排程。
系統任務排程:系統週期性所要執行的工作,比如寫快取資料到硬碟、日誌清理等。/etc/crontab檔案就是系統任務排程的配置檔案。
使用者任務排程:使用者定期要執行的工作,比如使用者資料備份、定時郵件提醒等。使用者可以使用 crontab 工具來定製自己的計畫任務。所有使用者定義的crontab檔案都被儲存在/var/spool/cron目錄中
命令作用
at命令
計畫任務,在特定的時間執行某項工作,在特定的時間執行一次
at-v
印出版本編號
at-q
使用指定的佇列(queue)來儲存
at-m
即使程式/指令執行完成後沒有輸出結果, 也要寄封信給使用者
at-f file
讀入預先寫好的命令檔。使用者不一定要使用交談模式來輸入,可以先將所有的指定先寫入檔案後再一次讀入 網路應用
at-l
列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
at-d
刪除指定 (使用者也可以直接使用 atrm 而不用 at -d)
at-v
列出所有已經完成但尚未刪除的指定
相關命令
● at:在特定的時間執行一次性的任務
● atq:列出使用者的計畫任務,如果是超級使用者將列出所有使用者的任務,結果的輸出格式為:作業號、日期、小時、佇列和
使用者名稱● atrm:根據job number刪除at任務
● batch:在系統負荷允許的情況下執行at任務,換言之,就是在系統空閒的情況下才執行at任務
命令
作用crontab命令
系統週期性所要執行的工作
crontab-e
編輯任務
crontab-l
列出所有任務
crontab-r
移除所有任務;即刪除/var/spool/cron/username檔案
crontab-i
在使用-r選項移除所有任務時提示使用者確認
crontab-u user
root使用者可為指定使用者管理cron任務
crontab標準化工作流程
1、計畫任務指令碼指定存放位置,便於維護和定期備份
2、寫定時任務前必須在前面寫注釋,包括以下:
新增計畫任務的人,新增任務的時間,任務有效期,計畫任務指令碼的物件,指令碼的作用,以及其他需要提醒其他
注意的事項
3、執行的指令碼前加上/bin/bash或者/bin/sh,指令碼必須使用完整的絕對路徑
4、定時任務,需要盡量避免標準輸出和標準錯誤輸出 結尾加上 >/dev/null 2>&1
計畫任務的標準輸出和標準錯誤輸出都會給root使用者以郵件,很容易撐滿磁碟消耗磁碟inode
5、能用命令完成的也要寫在指令碼裡
6、在指定使用者下執行相關的定時任務
7、制定標準的書寫規範
Linux 入門基礎
目錄操作 建立目錄 使用 mkdir 命令建立目錄 mkdir home testfolder切換目錄 使用 cd 命令切換目錄 cd home testfolder cd 移動目錄 使用 mv 命令移動目錄 mv home testfolder var tmp刪除目錄 使用 rm rf 命令刪除目...
linux入門基礎
以下講解內容都是基於linux中centos7 x86 64版本 參考電子書 在本地搭建虛擬機器,虛擬機器軟體有vmare,virtualbox。在linux系統中,有幾個目錄是比較重要的,平時需要注意不要誤刪除或者隨意更改內部檔案。etc 裡面放置都是配置檔案,包括自己手動安裝軟體的配置檔案。如果...
Linux基礎入門
使用 mkdir 命令建立目錄 mkdir home testfolder使用 cd 命令切換目錄 cd home testfolder使用 cd 命令切換到上一級目錄 cd 使用 mv 命令移動目錄 mv home testfolder var tmp使用 rm rf 命令刪除目錄 rm rf v...