一、編譯安裝
即使用源代碼編譯安裝的方式,編譯打包軟體,
特點:
- 可以自定制軟體;
- 可以按需構建軟體;
編譯安裝案例
1、下載源代碼包(這里以Nginx軟體包源代碼為例)
wget https://nginx.org/download/nginx-1.20.2.tar.gz
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel # 提前下好所需依賴包,避免后續報錯
2、解壓壓縮包
tar -xf nginx-1.20.2.tar.gz
3、設定系統引數
cd nginx-1.20.2
# 自定制引數
vim ./src/core/nginx.h
# 執行編譯
./configure
4、編譯
make
5、安裝
make install
6、啟動
/usr/local/nginx/sbin/nginx
# 關閉
/usr/local/nginx/sbin/nginx -s stop
systemctl stop nginx
7、測驗
瀏覽上輸入對應ip地址,可以訪問代表安裝成功,
二、壓縮與打包
Windows中的常見壓縮包有:zip,rar….
Linux中常見的壓縮包有:gzip,bzip2….
2.1 gzip壓縮
壓縮命令:gzip [壓縮檔案]
解壓命令:gzip -d [壓縮包]
2.2 bzip2壓縮
壓縮命令:bzip2 [壓縮檔案]
解壓命令:bzip2 -d [壓縮包]
注意:上述兩種壓縮方式,都無法壓縮目錄,所以想要壓縮目錄的話便需要借助下面的打包命令—tar
2.3 tar打包
tar : 打包命令
相關引數:
-f : 指定打包的包名稱
-c : 打包
-v : 顯示打包的程序
-z : 使用gzip壓縮壓縮包
-j : 使用bzip2壓縮壓縮包
-x : 解壓(不需要指定壓縮型別,自動匹配)
-t : 查看壓縮包內部的內容
-P :忽略使用絕對路徑時報出的錯誤
注意:
1、壓縮時是什么路徑,解壓縮時就是什么路徑,所以為了安全不要使用絕對路徑壓縮;
2、-f引數后面必須跟壓縮包的名稱,即引數f必須在引數的最后,其他引數位置可以隨意;
三、定時任務服務
3.1 定時任務概念
3.1.1 定時任務作用說明
- 類似生活中使用的鬧鐘
- 可以自動完成操作命令
- 定時備份系統資料資訊
3.1.2 定時任務軟體種類
- 定時任務軟體:cronie —— 默認系統自帶定時服務 crond(crontab)
- 定時任務軟體:atd —— 定時任務只執行一次,一次性定時服務
- 定時任務軟體:anacron —— 非7*24小時運行的服務器
3.1.3 定時任務實作方式
-
系統定時任務(系統會自動運行里面的內容)
- 系統定時任務周期:每小時 —— 控制定時任務目錄:/etc/cron.hourly
- 系統定時任務周期:每一天 —— 控制定時任務目錄:/etc/cron.hourly
- 系統定時任務周期:每一周 —— 控制定時任務目錄:/etc/cron.weekly
- 系統定時任務周期:每個月 —— 控制定時任務目錄:/etc/cron.monthly
系統定時任務的組態檔之一 : /etc/crontab 日志相關檔案: /var/log/cron /var/log/messages /var/log/secure -
用戶定時任務
-
用戶定時任務查看
串列查看定時任務資訊: crontab -l(list) -
用戶定時任務編輯
編輯配置定時任務資訊: crontab -e(edit) -
定時任務組態檔
/var/spool/cron/rootroot檔案表示是root用戶設定的定時任務
-
-
常見提示資訊
- 相應用戶沒有編輯定時任務 —— no crontab for root
- 定時任務編輯錯誤是否繼續 —— Do you want to retry the same edit
3.2 定時任務實踐應用
3.2.1 定時任務服務環境準備
-
確認定時任務服務是否正在運行
ps -ef|grep crond /etc/init.d/crond status -
確認定制任務服務是否開機啟動
chkconfig|grep crond chkconfig --list crond
系統當前可以使用定時任務,系統重啟后也可以繼續使用
3.2.2 實時任務服務應用方法
-
配置定時任務服務(crontab -e)
等價于使用vim命令編輯定時任務組態檔:
管理用戶:vim /var/spool/cron/root 普通用戶:vim /var/spool/cron/oldboy -
查看定時任務資訊(crontab -l)
等價于使用cat命令查看定時任務組態檔:
cat /var/spool/cron/root -
定時任務命令作用
- 定時任務命令有語法檢查功能,組態檔格式不對會報錯
- 定時任務命令使用時方便簡單
-
定時任務相關檔案
1、定時任務服務組態檔所在目錄(重點記憶): /var/spool/cron 2、定時任務服務運行記錄日志檔案(重點記憶): /var/log/cron 3、定時任務服務禁止用戶運行名單(了解即可): /etc/cron.deny(定時任務黑名單)日志檔案資訊查看命令:
head: 從頭部開始查看檔案,默認查看10行 -n : 指定查看多少行 tail: 從尾部開始查看檔案,默認查看10行 -n : 指定查看多少行 -f : 實時監控檔案變化 less: 類似于vim的方式查看檔案 more cat grep/egrep日志記錄內容決議如下:

-
定時任務撰寫格式
-
口訣:什么時間做什么,然后再想下一次什么時候執行 什么時間,做什么事情
cat /etc/crontab
定時任務書寫案例:
每天的上午8點30分,來學校上車(go to school): 30 08 * * * go to school 每天晚上12點準時,回家自己上床(go to bed): 00 0 * * * go to bed注意:星期幾和日期不要同時加上
-
定時任務中常用符號
* 每 : * * * * * 命令 /n : */10 * * * * 表示每隔十分鐘 - 從哪里來到哪里去: eg: 每天的上午7點到上午11點 每一個小時運行CMD命令 00 07-11 * * * CMD (表示小時的時候要注意分鐘) , 分隔 : 00 07-11 * * * --> 00 07,08,09,10,11 * * *不要考慮 多久運行一次,直接按照文字把對應的時間寫出來 eg:每天 每周 每個月;
定時任務在表達小時的時候,注意分鐘的位置表示需要為整點;定時任務符號搭配案例:
每隔2分鐘執行: */2 * * * * 每天的2,4,6,10這4個小時的第1分鐘執行: 01 2,4,6,10 * * * 每天的2到6點執行: 00 2-6 * * * 每天的2到6點中每隔2小時執行: 00 2-6/2 * * * 00 02 * * 02 表示每天的2點時執行,但是這天必須是周二 -
定時任務的撰寫流程
定時任務執行命令/腳本規范:
-
測驗定時執行命令(定時任務執行的命令/腳本必須是絕對路徑)
-
撰寫定時任務資訊
crontab -e定時任務撰寫時需要按照語法規范:
撰寫注釋資訊——》撰寫定時任務 -
檢查定時任務效果
查看定時任務日志 查看定時任務效果: 01. 臨時修改定時任務每分鐘 02. 最終修改定時任務的時間 -
排查定時任務問題
查看定時任務日志 查看定時任務效果
-
-
-
定時任務撰寫案例
-
定時撰寫檔案資訊
每分鐘將自己的名字追加到/oldboy/oldboy.txt中:
01. 測驗定時執行命令: echo "Eason" >>/oldboy/oldboy.txt 02. 撰寫定時任務資訊: crontab -e 撰寫注釋資訊 ——> 撰寫定時任務 # edit name input file * * * * * echo "Eason" >>/oldboy/oldboy.txt 03. 檢查定時任務效果: 查看定時任務日志:tail -f /var/log/cron 查看定時任務效果:tail -f /oldboy/oldboy.txt 04. 排查定時任務問題: 查看定時任務日志 查看定時任務效果每分鐘顯示系統時間(年-月-日_周)追加到/tmp/time.log:
01. 測驗定時執行腳本: /bin/sh /server/scripts/shell.sh 創建腳本目錄:mkdir -p /server/scripts 撰寫腳本內容:date +%F_%w 02. 撰寫定時任務資訊: crontab -e 撰寫注釋資訊 ——> 撰寫定時任務 # edit name input file * * * * * /bin/sh /server/scripts/shell.sh >>/tmp/time.log 03. 檢查定時任務效果: 查看定時任務日志:tail -f /var/log/cron 查看定時任務效果:tail -f /tmp/time.log 04. 排查定時任務問題: 查看定時任務日志 查看定時任務效果 -
定時重啟系統服務
每天23到第二天7點每隔1小時重啟nginx服務:
01. 測驗定時執行命令: /application/sbin/nginx -s reload 02. 撰寫定時任務資訊: crontab -e 撰寫注釋資訊 ——> 撰寫定時任務 # reboot nginx server 00 23,00-07/1 * * * /application/sbin/nginx -s reload 03. 檢查定時任務效果: 查看定時任務日志:tail -f /var/log/cron 查看定時任務效果:tail -f /oldboy/oldboy.txt 04. 排查定時任務問題: 查看定時任務日志 查看定時任務效果
-
3.3 總結
定時任務的9句勸告:
①. 定時任務規則之前加注釋:表示定時任務在干什么
②. 使用腳本替代命令執行定時任務:超過兩條命令,就用腳本,腳本相當于命令的合集
③. 定時任務中date命令%百分號:* * * * * date +%F%T >>/oldboy/time.txt 2>&1
④. 運行腳本一定要用/bin/sh /bin/bash:因為默認腳本沒有執行權限
⑤. 定時任務中-命令或腳本結果(正確及錯誤)定向到黑洞(>/dev/null 2>&1)或追加到檔案中 >>/tmp/oldboy.txt 2>&1
⑥. 避免不必要的程式及命令輸出
⑦. 打包壓縮使用相對路徑(切到目標目錄的上一級打包目標)
⑧. 定時任務腳本中的程式檔案 ,盡量用絕對路徑
⑨. 系統與命令位置有關的環境變數問題 :$PATH = /usr/bin:/bin
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/383959.html
標籤:Linux
