在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    linux下的shell腳本編程介紹

    shell編程語言的介紹

    • shell簡介:

    Shell是一種腳本語言,又是一種命令語言??梢酝ㄋ滓稽c來講,Shell腳本就是一系列命令的集合,可以在Unix/linux上面直接使用,并且直接調(diào)用大量系統(tǒng)內(nèi)部的功能來解釋執(zhí)行程序把一些重復性工作交給shell做,來實現(xiàn)自動化運維。

    Shell 雖然沒有C/C++、Java、Python等強大,但也支持了基本的編程元素。例如:if、for、while、case等循環(huán),還有變量、數(shù)組、字符串、注釋、加減乘除邏輯運算等

    • 常見的腳本語言:

    shell、perl、php、python

    • shell的優(yōu)點:

    易用 #直接在linux系統(tǒng)上使用,不需要編譯

    高效 #程序開發(fā)的效率非常高,依賴于功能強大的命令可以迅速地完成開發(fā)任務

    簡單 #語法和結(jié)構(gòu)比較簡單,易于掌握

    • shell應用場景:

    監(jiān)控linux系統(tǒng)的健康度

    數(shù)據(jù)的處理 #日志的切割、分析、統(tǒng)計等

    與數(shù)據(jù)庫交互 #對數(shù)據(jù)庫進行增,刪,改,查等操作

    監(jiān)控進程,自動化啟停服務

    完成一些重復性的工作

    shell編寫第一個腳本

    • 編寫:vi first.sh

    # !/bin/bash# 作者:菜園子# 編寫時間:2022-09-21# 功能:我的第一個shell腳本echo “this is my first shell !”

    • 執(zhí)行:

    sh first.shchmod 755 first.sh./first.sh

    企業(yè)實戰(zhàn)之shell腳本與crontab定時器的運用

    • crond服務:

    以守護進程方式在無需人工干預的情況下來處理著一系列作業(yè)和指令的服務

    • crond服務的啟停命令

    啟動systemctl start crond.service查看狀態(tài):systemctl status crond.service停止systemctl stop crond.service重新啟動systemctl restart crond.service

    • crontab定時器的使用

    語法:crontab 【選項】crontab -l #列出crontab有哪些任務crontab -e #編輯crontab任務crontab -r #刪除crontab里的所有任務內(nèi)容格式:* * * * * 級別 命令分 時 日 月 周

    • crontab的例子

    每分鐘執(zhí)行* * * * * 或者 */1 * * * *每小時執(zhí)行0 * * * *每天執(zhí)行0 0 * * *每周執(zhí)行0 0 * * 0每月執(zhí)行0 0 1 * *每年執(zhí)行0 0 1 1 *每天早上6點執(zhí)行0 6 * * *每兩個小時執(zhí)行0 */2 * * *每小時的10分,40分執(zhí)行10,40 * * * *每天的下午4點、5點、6點的5 min、15 min、25 min、35 min、45 min、55 min時執(zhí)行命令5,15,25,35,45,55 16,17,18 * * *

    利用shell腳本企業(yè)實戰(zhàn)nginx日志切割

    需求:

    • nginx的日志文件路徑
    • 每天0點對nginx 的access與error日志進行切割
    • 以前一天的日期為命名

    腳本:

    #!/bin/bash#Auto cut nginx log script.#Create by Cyz#Create date : 2022-09-21#nginx日志路徑logs_path=/usr/local/nginx/logsYesterDay=$(date -d ‘yesterday’ +%Y-%m-%d)#移動日志并以日期改名mv ${logs_path}/access.log ${logs_path}/access_${YesterDay}.logmv ${logs_path}/error.log ${logs_path}/error_${YesterDay}.log#向nginx主進程發(fā)送信號,重新生成日志文件kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

    個人博客:cyz

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年9月22日 06:11
    下一篇 2022年9月22日 06:11

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息