- 課程介紹部分
- 定時任務概念介紹
- 定時任務實現(xiàn)方式
- 定時任務配置應用
- 定時任務操作練習
- 課程知識回顧(提問環(huán)節(jié))
- 掌握文件權限信息
- 掌握系統(tǒng)默認權限設置 umask
- 了解系統(tǒng)用戶相關文件 /etc/passwd /etc/shadow
- 了解系統(tǒng)用戶相關目錄 /etc/skel
- 掌握普通用戶提權方法
a 直接切換用戶 su -
b 修改文件/目錄權限 chown chmod
c 進行用戶提權 sudo visudo
d 進行特殊權限位配置 setuid setgid 粘滯位
擴展:
chattr +i 文件信息 --- 將一個文件上鎖
chattr -i 文件系統(tǒng) --- 將一個文件解鎖
lsattr 文件系統(tǒng) - 掌握用戶管理相關命令
-
系統(tǒng)定時任務概念 == 生活中鬧鐘
- 時間信息有時不準 時間同步操作 每過10分鐘
- 備份數(shù)據信息 凌晨
代替人自動完成一些任務
-
系統(tǒng)定時任務實現(xiàn)方法:
1). 定時任務軟件:cronie *****
2). 定時任務軟件:atd 設置一次定時任務,執(zhí)行一次
3). 定時任務軟件:anacron 定時時間有固定設置 每小時 每天 每個月 cronie-anacron實現(xiàn)定時任務配置:
1). 系統(tǒng)默認定時任務:
cron.hourly/ --- 每小時執(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). 用戶自定義設置定時任務
一個命令 兩個文件
crontab --- 設置和查看定時任務命令
# crontab -l --- 查看設置的定時任務
# crontab -e --- 編輯設置定時任務/語法檢查功能配置文件 /var/spool/cron/root --- root用戶設置定時任務配置文件 /var/spool/cron/oldboy --- oldboy用戶設置定時任務配置文件 /var/log/cron --- 定時任務日志文件
-
定時任務如何進行配置
準備工作:
systemctl start crond
systemctl enable crond編寫定時任務:
[root@oldboyedu ~]# cat /etc/crontab --- 定時任務樣例文件
SHELL=/bin/bash 環(huán)境變量信息
PATH=/sbin:/bin:/usr/sbin:/usr/bin 環(huán)境變量信息
MAILTO=root# For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
定時任務時間信息 執(zhí)行任務信息
* * * * * 命令/腳本時間信息:
*(分) *(時) *(日) *(月) *(周)
分鐘: 0-59
小時: 0-23
日期: 1-31
月份: 1-12
星期: 0-6任務信息:
cp /etc/host /etc/hosts.bak練習:
-
凌晨2點半 將數(shù)據進行備份
crontab -e
30 2 * * * cp /etc/host /etc/hosts.bak
如何驗證定時任務功能:實時監(jiān)控定時任務日志信息
[root@oldboyedu ~]# tail -f /var/log/cron
Jul 30 16:56:25 oldboyedu crontab[42580]: (root) BEGIN EDIT (root)
Jul 30 16:56:38 oldboyedu crontab[42580]: (root) REPLACE (root)
Jul 30 16:56:38 oldboyedu crontab[42580]: (root) END EDIT (root)
01 02 03 04
Aug 1 02:30:01 oldboyedu CROND[42950]: (root) CMD (cp /etc/host /etc/hosts.bak)
1): 編寫定時/定時任務觸發(fā) 時間信息
2): 主機名稱信息
3): 讀取什么定時任務文件信息
4): 定時任務完成了事情加快定時任務執(zhí)行
調整時間信息
PS: 調整時間盡量向后調整
下午3點40,8月6日,周日 將數(shù)據進行備份 錯誤?
40 15 6 8 0
PS: 在設置時間信息時, 周信息不能和日期信息一起設置每隔1個小時, 數(shù)據備份
/n 每隔多久執(zhí)行定時任務 間隔多久
* 每分鐘 每小時 每天 每月 每周
0 */1 * * * cp /etc/hosts /etc/hosts.01 正確
* */1 * * * cp /etc/hosts /etc/hosts.01 問題
說明: 每隔一小時會執(zhí)行
1:00 --- 2:00 執(zhí)行時間條件
* --- 每分鐘執(zhí)行
PS: 在設置好一個時間信息, 前面的時間也要做規(guī)劃每天上午9,10,11,12點 執(zhí)行數(shù)據備份
- 連續(xù)的時間范圍
0 9-12 * * * cp /etc/hosts /etc/hosts.01 規(guī)范配置
0 9-12/1 * * * cp /etc/hosts /etc/hosts.01 理論正確
間隔1小時執(zhí)行 9-10 and 9-12點執(zhí)行每天上午9 11 執(zhí)行數(shù)據備份
, 非連續(xù)的時間范圍
0 9,11 * * * cp /etc/hosts /etc/hosts.01
時間表示形式:
* 每多少時間
*/n 每隔多久 間隔時間
1-10 連續(xù)時間范圍
1,10 非連續(xù)時間范圍 -
-
定時任務編寫常見問題:
每隔5分鐘, 進行時間同步(ntpdate ntp1.aliyun.com)
如何編寫定時任務:
方法一: 采用絕對路徑進行編寫
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
方法二: 放入到腳本文件中
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/oldboy:/oldgirl:/root/bin
echo $PATH &>/tmp/oldboy.txt
ntpdate ntp1.aliyun.com
說明: 定時任務執(zhí)行時, 識別的環(huán)境變量只有/usr/bin:/bin規(guī)范化編寫定時任務
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null
postfix 服務開啟 --- /var/spool/mail/root 郵件 文件不斷變大 占用更多block
postfix 服務關閉 --- /var/spool/postfix/maildrop/ 大量小文件 占用更多inode
/dev/null --- 系統(tǒng)黑洞將/etc/hosts 打包備份 /opt/hosts_時間信息.tar.gz 每分鐘操作
tar zcvf /opt/hosts_(date +%F).tar.gz /etc/hosts
解決方式二: 將有特殊符號命令放入腳本中
#!/bin/bash
tar zcvf /opt/hosts_$(date +%F).tar.gz
* * * * * sh /server/scripts/tar.sh &>/dev/null
說明: 定時任務中有些特殊符號無法識別
定時任務編寫注意事項:
- 編寫定時任務需要有注釋信息 (時間 編寫人員 任務作用)
- 編寫定時任務注意環(huán)境變量 /usr/bin:/bin 命令書寫為絕對路徑
- 編寫定時任務注意特殊符號 需要標記轉義符號 \
- 編寫定時任務需要將輸出信息定義到空 &>/dev/null
- 編寫定時任務建議使用腳本編寫
編寫定時任務規(guī)范:
命令編寫定時任務:
第一個里程: 測試命令是否可以在命令行執(zhí)行
第二個里程: 放入定時任務中(絕對路徑)
第三個里程: 調整時間信息進行測試
第四個里程: 檢查日志信息/檢查任務執(zhí)行結果腳本編寫定時任務:
第一個里程: 編寫腳本信息
第二個里程: 測試腳本執(zhí)行效果
/bin/sh /server/scripts/test.sh
第三個里程: 放入定時任務中(絕對路徑)
第四個里程: 調整時間信息進行測試
第五個里程: 檢查日志信息/檢查任務執(zhí)行結果測試環(huán)境測試定時任務沒問題:
執(zhí)行腳本將線上服務器定時任務做改動compress.sh
#!/bin/bash
tar xxxxx#!/bin/bash
echo "* * * * * /sh/bin /server/scripts/compress.sh" >>/var/spool/cron/root -
課程知識總結
定時任務概念作用:
讓反復工作任務, 可以系統(tǒng)自動執(zhí)行定時任務實現(xiàn)方式:
系統(tǒng)默認定時任務:
自定義定時任務: 最短周期是每分鐘 存儲服務器(用戶數(shù)據信息 18:00---傳輸圖片---18:00:59)
實時同步備份數(shù)據定時任務編寫規(guī)范
定時任務文件格式規(guī)范 * * * * * 任務
定時任務時間定義方法定時任務常見錯誤
綜合架構: 全網備份數(shù)據項目