linux定時任務

2022-06-18 10:42:12 字數 1732 閱讀 9305

一. 定時任務的字元表示含義

1. 五個字段分別表示分,時,日,月,周

minute---分鐘 (0-59)

hour------小時(0-23)

day--------日期(1-31)

month---月份(1-12)

week----星期(0-6) //0代表星期天

2. 特殊字元的用法

「*」:表示任意時間都可以;  

「 -「:表示時間段 17-19;  

「,」:表示分隔時段,17,18,19點執行命令;  

"/n":每隔n個時間單位執行命令

二. 例子

1. 每隔多少個小時執行命令     

0 */3 * * * gentoo /bin/echo "hello"     每3小時執行echo命令,輸出hello.     注意系統cron需要指定使用者身份    

2.   每天3點30和12點30 執行指令碼

30 3,12 * * * /bin/sh /scripts/oldboy.sh 

3. 每隔6個小時的半點時刻執行scripts/oldboy.sh指令碼

30 */6 * * * /bin/sh /scripts/oldboy.sh     

4. 從上午8點到下午6點,每隔2隔小時的半點時刻執行指令碼

30 8-18/2 * * * /bin/sh /scripts/oldboy.sh    

5. 每週6,週日的凌晨1:10重啟apache

6. 在11 月份內,每天的早上6 點到12 點中,每隔2 小時執行一次/usr/bin/httpd.sh

7. 每週六,週日上午9:00和下午14:00執行指令碼 /server/scripts/hong.sh

00 09,14 * * 6,7 /bin/sh /server/scripts/hong.sh > /dev/null 2>&1

(>/dev/null 2>&1 "常用來避免shell命令或者程式等執行中有內容輸出,等價於1>/dev/null 2>/dev/null,也等價 &>dev/null)

8. 每個周一到週三的早上10點執行該指令碼

0 10 * * 1-3 / home/postgres/pgsql.sh  這裡的0就是表示第0分,如果是1就表示第1分

9. 每隔2個小時將系統的/etc/services檔案打包備份到/tmp下,最好每次備份成不同的備份包

指令碼tar.sh如下

cd /etc/

tar cvzf /tmp/services_$(date +%f-%h).tar.gz ./services

測試指令碼:/bin/sh /server/scripts/tar.sh  (建立乙個/server/scripts目錄專門存放指令碼)

寫定時任務

00 */2 * ** /bin/sh  /server/scripts/tar.sh >dev/null 2>&1   (如果第乙個用*,表示每分)

檢查crontab -l | tail -2

注意:如果把命令放在定時任務裡,時間的百分號一定要加轉義符號 \%,定時任務不支援%

例如:0 */2 * * * /bin/tar cvzf /tmp/service-`date '+%f-%h' `.tar.gz /etc/service > /dev/null 2>&1是錯誤的  

linux定時任務 at定時任務

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

linux定時任務

crontab 設定定時任務 crontab 可以根據分鐘 小時 日期 月份 星期的組合來設定定時任務的自動執行 要使用該服務必須啟動 crond 服務,檢視 crond 服務有沒有啟動,執行命令 servicecrond status 一些任務事例,幫助理解 3020 root back.sh 每...

linux 定時任務

如果想要半夜在linux上備份oracle使用定時命令是最好不過的啦,下面整理了一下linux上的定時任務,可以參考一下 包括一次性的定時at,和長期的定時cron。cron設定 cron長期定時 cron是linux的內建服務,不會自動啟動 service crond start stop sta...