day22 操作系統(tǒng)定時(shí)任務(wù)
課程介紹
1.定時(shí)任務(wù)概念介紹
2.定時(shí)任務(wù)實(shí)現(xiàn)方式
3.定時(shí)任務(wù)配置應(yīng)用過程
4.定時(shí)任務(wù)操作練習(xí)
課程回顧
1.掌握文件權(quán)限信息
2.掌握系統(tǒng)默認(rèn)權(quán)限設(shè)置 umask
3.了解系統(tǒng)用戶相關(guān)文件 /etc/passswd 用戶密碼文件 /etc/shadow
4.了解系統(tǒng)用戶相關(guān)目錄 /etc/skel
5.掌握普通用戶提權(quán)方法
a. 直接切換用戶 su -
b. 修改文件/目錄權(quán)限 chown 屬主屬組其他 chmod 權(quán)限設(shè)置
c. 進(jìn)行用戶提權(quán) sudo visudo
d. 進(jìn)行特殊權(quán)限位配置 setuid setgid 粘滯位
chattr +i 文件信息 --- 講一個(gè)文件上鎖
chattr -i 文件系統(tǒng) --- 講一個(gè)文件解鎖
lsattr 文件系統(tǒng)查看是否上鎖
6.掌握用戶管理的相關(guān)命令
系統(tǒng)定時(shí)任務(wù)概念 == 生活中的鬧鐘
1.時(shí)間信息有時(shí)不準(zhǔn) 時(shí)間同步操作 每過10分鐘
2.備份數(shù)據(jù)信息 凌晨
代替人自動(dòng)完成任務(wù)
系統(tǒng)定時(shí)任務(wù)實(shí)現(xiàn)方法:
1.定時(shí)任務(wù)軟件: cronie
2.定時(shí)任務(wù)軟件: atd 設(shè)置一次定時(shí)任務(wù),執(zhí)行一次
- 定時(shí)任務(wù)軟件: anacron 定時(shí)時(shí)間有固定設(shè)置 每小時(shí) 每天 每月 cronie-anacron
實(shí)現(xiàn)定時(shí)任務(wù)配置:
1.系統(tǒng)默認(rèn)定時(shí)任務(wù):
cron.hourly/ --- 每小時(shí)執(zhí)行目錄中腳本文件
cron.daily/ --- 每天執(zhí)行目錄中腳本文件
cron.weekly/ --- 每周執(zhí)行目錄中腳本文件
cron.monthly/ --- 每月執(zhí)行目錄中腳本文件
vim oldboy.sh
井!/bin/bash
echo "info_$(date +%F_%T)" >/tmp/test_cron.txt
2.用戶自定義是指定時(shí)任務(wù)
一個(gè)命令 兩個(gè)文件
crontab --- 設(shè)置和查看定時(shí)任務(wù)命令
crontab -l --- 查看設(shè)置的定時(shí)任務(wù)
crontab -e --- 編輯設(shè)置定時(shí)任務(wù)
配置文件
/var/spool/cron/root --- root用戶設(shè)置定時(shí)任務(wù)配置文件
/var/log/cron --- 定時(shí)任務(wù)日志文件
定時(shí)任務(wù)如何進(jìn)行配置
準(zhǔn)備工作:
systemctl start crond
systemctl enable crond
開啟定時(shí)任務(wù)
編寫定時(shí)任務(wù):
[root@han ~]# cat /etc/crontab
定時(shí)任務(wù)時(shí)間信息 執(zhí)行任務(wù)信息
* * * * * 命令/腳本
時(shí)間信息:
*(分) *(時(shí)) *(日) *(月) *(周)
分鐘: 0-59
小時(shí): 0-23
日期:1-31
月份: 1-12
星期: 0-6
任務(wù)信息:
cp /etc/hosts /etc/hosts.bak
練習(xí):1.凌晨?jī)牲c(diǎn)半將數(shù)據(jù)進(jìn)行 備份
crontab -e
30 2 * * * /usr/big/cp /etc/host /etc/hosts.baK
2.如何實(shí)時(shí)監(jiān)控定時(shí)任務(wù)日志信息
tail -f /var/log/cron
1):編寫定時(shí)/定時(shí)任務(wù)觸發(fā) 時(shí)間信息
2):主機(jī)名稱信息
3):讀取什么定時(shí)任務(wù)文件信息
4):定時(shí)任務(wù)完成了事情
加快任務(wù)執(zhí)行 調(diào)整時(shí)間 盡量往后調(diào)整
date -s 20190801 14:29:40
3.下午3點(diǎn)40,8月6日,周日 將數(shù)據(jù)進(jìn)行備份
40 15 6 8 0 和女朋友發(fā)生小秘密
PS: 在設(shè)置時(shí)間信息時(shí), 周信息不能和日期信息一起設(shè)置
4.每隔一個(gè)小時(shí),數(shù)據(jù)備份
00 */1 * * * /usr/big/cp /etc/host /etc/hosts.baK
*/1 每1小時(shí)執(zhí)行任務(wù)
* 每個(gè)時(shí)刻
說明:每個(gè)一個(gè)小時(shí)會(huì)執(zhí)行
1:00 --- 2:00 執(zhí)行時(shí)間條件
* --- 每分鐘執(zhí)行
在設(shè)置好一個(gè)時(shí)間信息,前面的時(shí)間也要做規(guī)劃
05.每天上午9,10,11,12點(diǎn) 執(zhí)行數(shù)據(jù)備份
- 連續(xù)的時(shí)間訪問
0 9-12 * * * /usr/big/cp /etc/host /etc/hosts.baK
06.每天上午九點(diǎn) 十一點(diǎn) 執(zhí)行一次
, 非連續(xù)的時(shí)間范圍
0 9,11 * * * /usr/big/cp /etc/host /etc/hosts.baK
時(shí)間表示形式
* 每多少小時(shí) ,
*/n 每隔n久執(zhí)行一次 *
1-10 連續(xù)時(shí)間范圍
1,10 非連續(xù)時(shí)間范圍
定時(shí)任務(wù)編寫常見問題
1.每隔五分鐘,進(jìn)行時(shí)間同步
方法一: */5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
方法二: 放入腳本文件中
說明:定時(shí)任務(wù)執(zhí)行時(shí),識(shí)別的環(huán)境變量只有/usr/bin:/bin
2.規(guī)范化編寫定時(shí)任務(wù)
# * * * * ech 13246841 &>/dev/unll
posttfix 服務(wù)開啟 --- /var/spool/mail/root 郵件 文件不斷變大 占用block
postfix 服務(wù)關(guān)閉 --- /var/spool/postfix/maildrop 大量小文件 占用inode
/dev/null --- 系統(tǒng)黑洞
3.將/etc/hosts 打包備份 /opt/hosts_時(shí)間信息.tar.gz 每分鐘操作
說明:定時(shí)任務(wù)中有些特殊符號(hào)無法識(shí)別
解決方法一:將特殊符號(hào)前面加上轉(zhuǎn)義符號(hào)
解決方法二:將有特殊符號(hào)命令放入腳本中 /server/scripts/tar.sh
tar zcvf /opt/hosts_$(date +%F).tar.gz /etc/hosts &>/dev/null
* * * * * sh /server/scripts/tar.sh &>/dev/null
定時(shí)任務(wù)編寫注意事項(xiàng):
- 編寫定時(shí)任務(wù)需要有注釋信息(時(shí)間 編寫人員 任務(wù)作用)
- 編寫定時(shí)任務(wù)時(shí)任務(wù)注意環(huán)境變量 /usr/bin:/bin 命令書寫為絕對(duì)路徑
- 編寫定時(shí)任務(wù)注意特殊符號(hào) 需要編輯轉(zhuǎn)義符號(hào) \
- 編寫定時(shí)任務(wù)需要將輸出信息定義到空 &>/dev/null
- 編寫定時(shí)任務(wù)建議使用腳本編寫
編寫定時(shí)任務(wù)規(guī)范:
命令編寫定時(shí)任務(wù):
第一個(gè)里程: 測(cè)試命令是否可以在命令行執(zhí)行
第二個(gè)里程: 放入定時(shí)任務(wù)中(絕對(duì)路徑信息)
第三個(gè)里程: 調(diào)整時(shí)間信息進(jìn)行測(cè)試
第四個(gè)里程: 檢查日志/檢查定時(shí)任務(wù)執(zhí)行結(jié)果
腳本編寫定時(shí)任務(wù):
第一個(gè)里程: 編寫腳本信息
第二個(gè)里程: 測(cè)試腳本執(zhí)行效果
/bin/sh /server/scripts/test.sh
第三個(gè)里程: 放入定時(shí)任務(wù)中(絕對(duì)路徑)
第四個(gè)里程: 調(diào)整時(shí)間信息進(jìn)行測(cè)試
第五個(gè)里程:檢查日志信息/檢查任務(wù)執(zhí)行結(jié)果
測(cè)試環(huán)境測(cè)試定時(shí)任務(wù)沒問題:
執(zhí)行腳本將線上服務(wù)器定時(shí)任務(wù)做改動(dòng)
comprsss.sh
#!/bin/bash
tar xxxx
#!bin/bash
echo "* * * * * /sh/bin /server/svripts/compress.sh" >>/var/spool/cron/root
課程知識(shí)總結(jié)
- 定時(shí)任務(wù)概念作用:
讓反復(fù)工作任務(wù),可以系統(tǒng)自動(dòng)執(zhí)行 - 定時(shí)任務(wù)實(shí)現(xiàn)方式:
系統(tǒng)默認(rèn)定時(shí)任務(wù):
自定義定時(shí)任務(wù) 最短周期是每分鐘 儲(chǔ)存服務(wù)器(用戶數(shù)據(jù)信息 18:00 ---上傳圖片 --- 18:00:59) - 定時(shí)任務(wù)編寫規(guī)范
定時(shí)任務(wù)文件格式規(guī)范 * * * * * 任務(wù)
定時(shí)任務(wù)時(shí)間定義法