Linux - 系統 - 計劃任務

吳宏東 - 記於2018年07月11日 - 博客 https://segmentfault.com/u/wu...shell

Linux 計劃任務

計劃任務

簡介

在CentOS 7 週期性計劃任務由cronie軟件提供,cronie包含了標準的UNIX守護進程crond和相關工具;
一次性的任務由at/batch執行;segmentfault

命令 crontab

建立計劃任務能夠有2個方式:
一、編輯/etc/crontab文件,追加計劃;
二、使用 crontab -e命令; bash

格式:minute hour day month week [username] cmd; 工具

minute:一個小時的哪一分鐘,範圍0~59;
hour:一天中的哪個小時,範圍0~23;
day:一個月中的哪一天,範圍1~31;
month:一年中的哪個月,範圍1~12;
week:一週中的哪一天,範圍0~7(0和7均表示週日);
username:用指定用戶身份執行命令;
cmd:任務執行的命令; code

前5個時間字段的語法:
不能爲空,能夠使用通配符*表示任什麼時候間;
能夠指定多個值,用逗號間隔,如1,2,3;
能夠指定時間段,用減號間隔,如0-6;
能夠使用步長/n表示,如0~6/2,即0,2,4,6; 進程

前5個時間字段經常使用的表示:
[ *] 表示每分鐘;
[/5 *] 表示每隔5分鐘;
[30 0 *] 表示天天0:30;
[0 4,8-18,22 *] 表示天天4:00、22:00、8~18的每一個整點;
[10 /6 ] 表示天天從零點開始每隔6小時的10分;
[23 0-23/2 *] 表示天天逢偶數小時的23分;
[30 1 1,15 ] 表示每個月1日和15日凌晨1:30;
[5 1 7] 表示每週日凌晨1:05;
[0 22 1-5] 表示每週一至週五的晚上10點;
[30 4 1,15 * 5] 表示每個月的1日和15日及每一個週五的4:30(周和日是或的關係);crontab

# 查看計劃任務
crontab -l;
# 建立計劃任務
crontab -e;
# 每分鐘在目錄/home/wuhd下生成隨機文件
* * * * * cd /home/wuhd && touch r-$RANDOM;
# 刪除計劃任務
crontab -r;

建立一個腳本,保存在/shell/cron:get

#!/bin/bash

newfile() {
time=`date +%Y%m%d%H%M%S`;
    cd /home/wuhd && touch "f-$time-$RANDOM";
}
newfile;

編輯/etc/crontab文件,追加計劃任務內容:cmd

# 編輯/etc/crontab文件
vi /etc/crontab;
# 追加計劃任務,系統將每分鐘執行一次腳本cron
* * * * * root /shell/cron;
相關文章
相關標籤/搜索