? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Linux計劃任務
1.計劃任務基本概述
2.計劃任務時間管理
3.計劃任務編寫實踐
4.計劃任務如何調試
1.計劃任務基本概述
1.什么是crond
crond就是計劃任務,類似于我們平時生活中的鬧鐘杯瞻。定點執(zhí)行。
2.為什么要使用crond
crond主要是做一些周期性的任務,比如: 凌晨3點定時備份數(shù)據(jù)。比如:11點開啟網(wǎng)站搶購接口慕的,12點關閉網(wǎng)站搶購接口古胆。
3.計劃任務主要分為以下兩種使用情況:
1.系統(tǒng)級別的定時任務: 臨時文件清理、系統(tǒng)信息采集香罐、日志文件切割
2.用戶級別的定時任務: 定時向互聯(lián)網(wǎng)同步時間、定時備份系統(tǒng)配置文件时肿、定時備份數(shù)據(jù)庫的數(shù)據(jù)
2.計劃任務時間管理
1.Crontab配置文件記錄了時間周期的含義
2.了解crontab的時間編寫規(guī)范
3.計劃任務編寫實踐
1.使用root用戶每5分鐘執(zhí)行一次時間同步
2.每天的下午3,5點庇茫,每隔半小時執(zhí)行一次sync命令
3.案例:每天凌晨3點做一次備份?備份/etc/目錄到/backup下面
1) 將備份命令寫入一個腳本中
2) 每天備份文件名要求格式: 2019-05-01_hostname_etc.tar.gz
3) 在執(zhí)行計劃任務時螃成,不要輸出任務信息
4) 存放備份內容的目錄要求只保留三天的數(shù)據(jù)
4.crond注意的事項
1) 給定時任務注釋
2) 將需要定期執(zhí)行的任務寫入Shell腳本中旦签,避免直接使用命令無法執(zhí)行的情況tar date
3) 定時任務的結尾一定要有&>/dev/null或者將結果追加重定向>>/tmp/date.log文件
4) 注意有些命令是無法成功執(zhí)行的 echo "123" >>/tmp/test.log &>/dev/null
5.如果一定要是用命令,命令必須使用絕對路徑
5.crond如何備份
1) 通過查找/var/log/cron中執(zhí)行的記錄寸宏,去推算任務執(zhí)行的時間
2) 定時的備份/var/spool/cron/{usernmae}
6.crond如何拒絕某個用戶使用
4.計劃任務如何調試
1.crond調試
1) 調整任務每分鐘執(zhí)行的頻率, 以便做后續(xù)的調試宁炫。
2) 如果使用cron運行腳本,請將腳本執(zhí)行的結果寫入指定日志文件, 觀察日志內容是否正常氮凝。
3) 命令使用絕對路徑, 防止無法找到命令導致定時任務執(zhí)行產生故障羔巢。
4) 通過查看/var/log/cron日志,以便檢查我們執(zhí)行的結果,方便進行調試竿秆。
2.crond編寫思路
1.手動執(zhí)行命令炭臭,然后保留執(zhí)行成功的結果。
2.編寫腳本
腳本需要統(tǒng)一路徑/scripts
腳本內容復制執(zhí)行成功的命令(減少每個環(huán)節(jié)出錯幾率)
腳本內容盡可能的優(yōu)化, 使用一些變量或使用簡單的判斷語句
腳本執(zhí)行的輸出信息可以重定向至其他位置保留或寫入/dev/null
3.執(zhí)行腳本
使用bash命令執(zhí)行, 防止腳本沒有增加執(zhí)行權限(/usr/bin/bash)
執(zhí)行腳本成功后袍辞,復制該執(zhí)行的命令鞋仍,以便寫入cron
4.編寫計劃任務
加上必要的注釋信息, 人、時間搅吁、任務
設定計劃任務執(zhí)行的周期
粘貼執(zhí)行腳本的命令(不要手敲)
5.調試計劃任務
增加任務頻率測試
檢查環(huán)境變量問題
檢查crond服務日志