上周內容 1.磁盤
1.磁盤內部結構
1.盤片: 正反兩面都可以用來存儲數據, 如果有很多盤片, 可以拿主軸串在一起.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.磁道: 存取數據, 需要磁頭磁化金屬顆粒,形成金屬塊.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.扇區: 硬盤出廠的時候進行的低級格式化,每個扇區512 字節為度量單位? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 個人: 屏蔽壞的扇區 (更換電子設備 SSD) 內存8G ( 阿 里云,按量)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 企業: 更換. | 中小企業 云 2.磁盤接口類型 淘汰類: IDE SCSI? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 個人類: SATA SSD 企業: SAS SSD?
3.磁盤指標 尺寸: 1.8 2.5 3.5 容量: ----> 轉速: 7500 10000 15000 IOPS: ( dd iostat hdparm)
4.fdisk 分區 (四個主要分區 3個主要分區 1個擴展分區 邏輯分 區) MBR 小于2T
5.gdisk 分區 (128個主要分區, 高于2TB以上 GPT
6.mkfs格式化 初始化文件系統,inode和block(4kb)
7.mount掛載 umount 卸載
8.永久掛載 /etc/fstab 1.設備名 2掛載點 3類型 4.掛載參數 5.備 份 6.檢查?
9.swap交換分區 內存吃滿,使用swap 內存吃滿,直接kill某個進 程
10.RAID磁盤陣列:? raid 0? ,1 ,5 , 10?
2.進程
1.進程: 程序運行的實例,只不過進程存在生命周期. 2.進程生命周期:
3.查看進程狀態 靜態ps STAT: R S S+ Ss D T Z SN S< Sl Ssl 動態top: cpu使用率指標如何查看 使用率 內核使用率 等待IO返回 4.優先級 nice renice 服務器假死問題? 5.管理后臺進程 SCreen 6.管理進程狀態 Kill pklill killall 7.中斷: 軟中斷 硬中斷? 8.平均負載? (??????)
3.啟動
1.centos6啟動流程
2.centos7啟動流程 3.c6和c7啟動區別? 1.加載的父進程不一樣 2.加載的配置文件不一樣 3.串行 并行 4.運行級別? 0-6 0 6 關機和重啟 24 不用 3 5 字符 圖形 --->3 1 單用戶5.單用戶模式? (必須面對實體, 必須系統是正常的) 1.修改密碼 2.修改配置文件 3.sudo權限改壞 (5分鐘)
6.救援模式(系統無法正常引導) 1.grub沒了 2.內核沒有了 3.分區模掉了 思路: 1.加載光盤中的鏡像 2.進入光盤中的鏡像 3.掛載真實的系統目錄結構 4.執行相應的命令進行恢復操作
今日內容
1.什么是定時任務 :定點執行某個job
2.為什么用定時任務? 電商秒殺定點開啟關閉? 定時備份? 定時清理? 時間同步?
日志切割(x系統日志 定時任務)? 日志切割(程序產生的日志刪除)? --》實時推送到遠端---> 遠端分析--->出圖
定時執行五分鐘--->腳本(監控數據庫存活狀態)
定時爬蟲? 定時同步?
3.定時任務使用情況? 系統使用:日志切割(系統日志定時任務)
個人使用:定時備份,定時清理 時間同步?
4.定時任務書寫規范
*表示任意的分時日月時間都執行
-表示一個時間范圍? 7-9? 7天到第9天
,分隔時段,如4.5日
/n 表示每隔n個單位時間。? 入*/10 每隔10分鐘
什么是crond? :? crond就是計劃任務,類似于我們平時生活中的鬧鐘,定點執行
為什么要使用crond crond主要是做一些周期性的任務,
*.使用crontab編寫cron定時任務**
參數含義
-e編輯定時任務
-l查看定時任務
-r刪除定時任務
-u指定其他用戶
4.crond注意事項
1)給定時任務注釋
2)將需要定期執行的任務寫入shell腳本中,避免直接使用命令無法執行情況 tar date
3)定時任務的結尾一定有&>/dev/null 或者將結果追加重定向 >>/tmp/date.log文件
4)注意有些命令是無法成功執行的echo“123”>>/tmp/etst.log &>/dev/null
5.如果一定要用命令,命令必須使用絕對路徑
crond如何備份:
1)通過查找/var/log/cron中的
2)定時備份/var/spool/cron/{usernmae}
6.crond 如何拒絕某個用戶使用
#1.使用root將需要拒絕的用戶加入/etc/cron.deny
[root@xuliangwei ~]# echo "xuliangwei" >> /etc/cron.deny
#2.登陸該普通用戶,測試是否能編寫定時任務
[oldboy@xuliangwei ~]$ crontab -e
You (xuliangwei) are not allowed to use this program (crontab)
See crontab(1) for more information
2.crond編寫思路
1.手動執行命令,然后保留執行成功的結果。
2.編寫腳本
腳本需要統一路徑/scripts
腳本內容復制執行成功的命令(減少每個環節出錯幾率)
腳本內容盡可能的優化, 使用一些變量或使用簡單的判斷語句
腳本執行的輸出信息可以重定向至其他位置保留或寫入/dev/null
3.執行腳本
使用bash命令執行, 防止腳本沒有增加執行權限(/usr/bin/bash)
執行腳本成功后,復制該執行的命令,以便寫入cron
4.編寫計劃任務
加上必要的注釋信息, 人、時間、任務
設定計劃任務執行的周期
粘貼執行腳本的命令(不要手敲)
5.調試計劃任務
增加任務頻率測試
檢查環境變量問題