前言
- crond是一個linux下的定時執(zhí)行工具(相當于windows下的scheduled task),可以在無需人工干預的情況下定時地運行任務。crond工具提供crontab命令來設置定時任務,屬于守護進程,只能精確到分鐘,可以設定周期性執(zhí)行Linux命令或者Shell腳本,每分鐘crond都會檢查是否有定時任務需要執(zhí)行
- 本次實驗系統(tǒng)為CentOS 7
操作步驟
(1) 檢查crond工具是否安裝
yum list installed | grep crontabs
![](/d/20211016/21ead005a4b8c3e7a3450c5869ad100f.gif)
若未安裝,則使用如下所示命令安裝
sudo yum install crontabs
(2) 檢查crond服務是否開啟由于是CentOS7所以使用 systemctl 命令,而非 service 命令
systemctl status crond.service
![](/d/20211016/aebb34f282552cd7531620492bfa7347.gif)
若未開啟,則使用如下所示命令開啟服務
sudo systemctl start crond.service
(3) 使用crond工具創(chuàng)建任務計劃crontab命令使用方法
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u <user> define user
-e edit user's crontab
-l list user's crontab
-r delete user's crontab
-i prompt before deleting
-n <host> set host in cluster to run users' crontabs
-c get host in cluster to run users' crontabs
-s selinux context
-x <mask> enable debugging
# 注意 crontab -r 是刪除用戶的所有定時任務(慎用!)
可以通過 /etc/crontab 文件查看任務定義格式和設定任務執(zhí)行環(huán)境
![](/d/20211016/5e83bb48b74d6ea18a31f6d1e77f08b1.gif)
以“每分鐘定時將日期寫入指定文件中”為例
方法1:使用crontab命令編輯當前用戶定時任務(立即生效)**
crontab -e
在編輯器中插入如下指令(注意此時不要追加用戶,否則無法執(zhí)行,因為此方法是直接設置當前用戶的定時任務)
*/1 * * * * date >> /home/TomAndersen/currentDate
檢查插入結果
[tomandersen@hadoop101 bin]$ crontab -l
*/1 * * * * date >> /home/TomAndersen/currentDate
方法2:編輯 /etc/crontab 文件,按照格式插入(生效較慢)**
*/1 * * * * tomandersen date >> /home/TomAndersen/currentDate
(4) 檢查是否設置成功
[tomandersen@hadoop101 bin]$ cat /home/TomAndersen/currentDate
2020年 02月 09日 星期日 18:12:01 CST
2020年 02月 09日 星期日 18:13:01 CST
2020年 02月 09日 星期日 18:14:01 CST
2020年 02月 09日 星期日 18:15:01 CST
2020年 02月 09日 星期日 18:16:02 CST
2020年 02月 09日 星期日 18:17:01 CST
2020年 02月 09日 星期日 18:18:01 CST
2020年 02月 09日 星期日 18:19:01 CST
2020年 02月 09日 星期日 18:20:01 CST
總結
以上所述是小編給大家介紹的Linux中使用crond工具創(chuàng)建定時任務,希望對大家有所幫助!