<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          17 個(gè)實(shí)用 shell 腳本,建議收藏!

          共 10492字,需瀏覽 21分鐘

           ·

          2022-02-12 01:56

          作者:民工哥

          來源:SegmentFault ?思否社區(qū)?


          1、服務(wù)器系統(tǒng)配置初始化



          #/bin/bash
          #?安裝系統(tǒng)性能分析工具及其他
          yum?install?gcc?make?autoconf?vim?sysstat?net-tools?iostat?iftop?iotp?wget?lrzsz?lsof?unzip?openssh-clients?net-tool?vim?ntpdate?-y
          #?設(shè)置時(shí)區(qū)并同步時(shí)間
          ln?-s?/usr/share/zoneinfo/Asia/Shanghai?/etc/localtime
          if?!?crontab?-l?|grep?ntpdate?&>/dev/null?;?then
          ????(echo?"*?1?*?*?*?ntpdate?time.windows.com?>/dev/null?2>&1";crontab?-l)?|crontab?
          fi
          ?
          #?禁用selinux
          sed?-i?'/SELINUX/{s/permissive/disabled/}'?/etc/selinux/config
          ?
          #?關(guān)閉防火墻
          if?egrep?"7.[0-9]"?/etc/redhat-release?&>/dev/null;?then
          ????systemctl?stop?firewalld
          ????systemctl?disable?firewalld
          elif?egrep?"6.[0-9]"?/etc/redhat-release?&>/dev/null;?then
          ????service?iptables?stop
          ????chkconfig?iptables?off
          fi
          ?
          #?歷史命令顯示操作時(shí)間
          if?!?grep?HISTTIMEFORMAT?/etc/bashrc;?then
          ????echo?'export?HISTTIMEFORMAT="%Y-%m-%d?%H:%M:%S??`whoami`?"'?>>?/etc/bashrc
          fi
          ?
          #?SSH超時(shí)時(shí)間
          if?!?grep?"TMOUT=600"?/etc/profile?&>/dev/null;?then
          ????echo?"export?TMOUT=600"?>>?/etc/profile
          fi
          ?
          #?禁止root遠(yuǎn)程登錄?切記給系統(tǒng)添加普通用戶,給su到root的權(quán)限
          sed?-i?'s/#PermitRootLogin?yes/PermitRootLogin?no/'?/etc/ssh/sshd_config
          ?
          #?禁止定時(shí)任務(wù)向發(fā)送郵件
          sed?-i?'s/^MAILTO=root/MAILTO=""/'?/etc/crontab?
          ?
          #?設(shè)置最大打開文件數(shù)
          if?!?grep?"*?soft?nofile?65535"?/etc/security/limits.conf?&>/dev/null;?then
          cat?>>?/etc/security/limits.conf?<????*?soft?nofile?65535
          ????*?hard?nofile?65535
          EOF
          fi
          ?
          #?系統(tǒng)內(nèi)核優(yōu)化
          cat?>>?/etc/sysctl.conf?<net.ipv4.tcp_syncookies?=?1
          net.ipv4.tcp_max_tw_buckets?=?20480
          net.ipv4.tcp_max_syn_backlog?=?20480
          net.core.netdev_max_backlog?=?262144
          net.ipv4.tcp_fin_timeout?=?20??
          EOF
          ?
          #?減少SWAP使用
          echo?"0"?>?/proc/sys/vm/swappiness

          2、批量創(chuàng)建多個(gè)用戶并設(shè)置密碼



          #!/bin/bash
          USER_LIST=$@
          USER_FILE=./user.info
          for?USER?in?$USER_LIST;do
          ????if?!?id?$USER?&>/dev/null;?then
          ????????PASS=$(echo?$RANDOM?|md5sum?|cut?-c?1-8)
          ????????useradd?$USER
          ????????echo?$PASS?|?passwd?--stdin?$USER?&>/dev/null
          ????????echo?"$USER???$PASS"?>>?$USER_FILE
          ????????echo?"$USER?User?create?successful."
          ????else
          ????????echo?"$USER?User?already?exists!"
          ????fi
          done

          3、一鍵查看服務(wù)器利用率



          #!/bin/bash
          function?cpu(){
          ????
          ????util=$(vmstat?|?awk?'{if(NR==3)print?$13+$14}')
          ????iowait=$(vmstat?|?awk?'{if(NR==3)print?$16}')
          ????echo?"CPU -使用率:${util}% ,等待磁盤IO相應(yīng)使用率:${iowait}:${iowait}%"
          ?
          }
          function?memory?(){
          ?
          ????total=`free?-m?|awk?'{if(NR==2)printf?"%.1f",$2/1024}'`
          ????used=`free?-m?|awk?'{if(NR==2)?printf?"%.1f",($2-$NF)/1024}'`
          ????available=`free?-m?|awk?'{if(NR==2)?printf?"%.1f",$NF/1024}'`
          ????echo?"內(nèi)存?-?總大小:?${total}G?,?使用:?${used}G?,?剩余:?${available}G"
          }
          disk(){
          ????
          ????fs=$(df?-h?|awk?'/^\/dev/{print?$1}')
          ????for?p?in?$fs;?do
          ????????mounted=$(df?-h?|awk?'$1=="'$p'"{print?$NF}')
          ????????size=$(df?-h?|awk?'$1=="'$p'"{print?$2}')
          ????????used=$(df?-h?|awk?'$1=="'$p'"{print?$3}')
          ????????used_percent=$(df?-h?|awk?'$1=="'$p'"{print?$5}')
          ????????echo?"硬盤?-?掛載點(diǎn):?$mounted?,?總大小:?$size?,?使用:?$used?,?使用率:?$used_percent"
          ????done
          ?
          }
          function?tcp_status()?{
          ????summary=$(ss?-antp?|awk?'{status[$1]++}END{for(i?in?status)?printf?i":"status[i]"?"}')
          ????echo?"TCP連接狀態(tài)?-?$summary"
          }
          cpu
          memory
          disk
          tcp_status

          4、找出占用CPU?內(nèi)存過高的進(jìn)程



          #!/bin/bash
          echo?"-------------------CUP占用前10排序--------------------------------"
          ps?-eo?user,pid,pcpu,pmem,args?--sort=-pcpu??|head?-n?10
          echo?"-------------------內(nèi)存占用前10排序--------------------------------"
          ps?-eo?user,pid,pcpu,pmem,args?--sort=-pmem??|head?-n?10

          5、查看網(wǎng)卡的實(shí)時(shí)流量



          #!/bin/bash
          eth0=$1
          echo??-e????"流量進(jìn)入--流量傳出????"
          while?true;?do
          ????old_in=$(cat?/proc/net/dev?|grep?$eth0?|awk?'{print?$2}')
          ????old_out=$(cat?/proc/net/dev?|grep?$eth0?|awk?'{print?$10}')
          ????sleep?1
          ????new_in=$(cat?/proc/net/dev?|grep?$eth0?|awk?'{print?$2}')
          ????new_out=$(cat?/proc/net/dev?|grep?$eth0?|awk?'{print?$10}')
          ????in=$(printf?"%.1f%s"?"$((($new_in-$old_in)/1024))"?"KB/s")
          ????out=$(printf?"%.1f%s"?"$((($new_out-$old_out)/1024))"?"KB/s")
          ????echo?"$in?$out"
          done

          6、監(jiān)控多臺(tái)服務(wù)器磁盤利用率腳本



          #!/bin/bash
          HOST_INFO=host.info
          for?IP?in?$(awk?'/^[^#]/{print?$1}'?$HOST_INFO);?do
          ????#取出用戶名和端口
          ????USER=$(awk?-v?ip=$IP?'ip==$1{print?$2}'?$HOST_INFO)
          ????PORT=$(awk?-v?ip=$IP?'ip==$1{print?$3}'?$HOST_INFO)
          ????#創(chuàng)建臨時(shí)文件,保存信息
          ????TMP_FILE=/tmp/disk.tmp
          ????#通過公鑰登錄獲取主機(jī)磁盤信息
          ????ssh?-p?$PORT?$USER@$IP?'df?-h'?>?$TMP_FILE
          ????#分析磁盤占用空間
          ????USE_RATE_LIST=$(awk?'BEGIN{OFS="="}/^\/dev/{print?$NF,int($5)}'?$TMP_FILE)
          ????#循環(huán)磁盤列表,進(jìn)行判斷
          ????for?USE_RATE?in?$USE_RATE_LIST;?do
          ????????#取出等號(hào)(=)右邊的值?掛載點(diǎn)名稱
          ????????PART_NAME=${USE_RATE%=*}??
          ????????#取出等號(hào)(=)左邊的值??磁盤利用率
          ????????USE_RATE=${USE_RATE#*=}
          ????????#進(jìn)行判斷
          ????????if?[?$USE_RATE?-ge?80?];?then
          ????????????echo?"Warning:?$PART_NAME?Partition?usage?$USE_RATE%!"
          ?????????????echo?"服務(wù)器$IP的磁盤空間占用過高,請(qǐng)及時(shí)處理"?|?mail?-s?"空間不足警告"?你的[email protected]
          ????????else
          ????????????echo?"服務(wù)器$IP$PART_NAME目錄空間良好"
          ????????fi
          ????done
          done

          7、批量檢測(cè)網(wǎng)站是否異常并郵件通知



          #!/bin/bash??
          URL_LIST="www.baidu.com?www.ctnrs.com?www.der-matech.net.cn?www.der-matech.com.cn?www.der-matech.cn?www.der-matech.top?www.der-matech.org"
          for?URL?in?$URL_LIST;?do
          ????FAIL_COUNT=0
          ????for?((i=1;i<=3;i++));?do
          ????????HTTP_CODE=$(curl?-o?/dev/null?--connect-timeout?3?-s?-w?"%{http_code}"?$URL)
          ????????if?[?$HTTP_CODE?-eq?200?];?then
          ????????????echo?"$URL?OK"
          ????????????break
          ????????else
          ????????????echo?"$URL?retry?$FAIL_COUNT"
          ????????????let?FAIL_COUNT++
          ????????fi
          ????done
          ????if?[?$FAIL_COUNT?-eq?3?];?then
          ????????echo?"Warning:?$URL?Access?failure!"
          ????????echo?"網(wǎng)站$URL壞掉,請(qǐng)及時(shí)處理"?|?mail?-s?"$URL網(wǎng)站高危"[email protected]
          ????fi
          done

          8、批量主機(jī)遠(yuǎn)程執(zhí)行命令腳本



          #!/bin/bash
          COMMAND=$*
          HOST_INFO=host.info
          for?IP?in?$(awk?'/^[^#]/{print?$1}'?$HOST_INFO);?do
          ????USER=$(awk?-v?ip=$IP?'ip==$1{print?$2}'?$HOST_INFO)
          ????PORT=$(awk?-v?ip=$IP?'ip==$1{print?$3}'?$HOST_INFO)
          ????PASS=$(awk?-v?ip=$IP?'ip==$1{print?$4}'?$HOST_INFO)
          ????expect?-c?"
          ???????spawn?ssh?-p?$PORT?$USER@$IP
          ???????expect?{
          ??????????\"(yes/no)\"?{send?\"yes\r\";?exp_continue}
          ??????????\"password:\"?{send?\"$PASS\r\";?exp_continue}
          ??????????\"$USER@*\"?{send?\"$COMMAND\r?exit\r\";?exp_continue}
          ???????}
          ????"

          ????echo?"-------------------"
          done

          9、一鍵部署LNMP網(wǎng)站平臺(tái)腳本



          #!/bin/bash
          NGINX_V=1.15.6
          PHP_V=5.6.36
          TMP_DIR=/tmp
          ?
          INSTALL_DIR=/usr/local
          ?
          PWD_C=$PWD
          ?
          echo
          echo?-e?"\tMenu\n"
          echo?-e?"1.?Install?Nginx"
          echo?-e?"2.?Install?PHP"
          echo?-e?"3.?Install?MySQL"
          echo?-e?"4.?Deploy?LNMP"
          echo?-e?"9.?Quit"
          ?
          function?command_status_check()?{
          ????if?[?$??-ne?0?];?then
          ????????echo?$1
          ????????exit
          ????fi?
          }
          ?
          function?install_nginx()?{
          ????cd?$TMP_DIR
          ????yum?install?-y?gcc?gcc-c++?make?openssl-devel?pcre-devel?wget
          ????wget?http://nginx.org/download/nginx-${NGINX_V}.tar.gz
          ????tar?zxf?nginx-${NGINX_V}.tar.gz
          ????cd?nginx-${NGINX_V}
          ????./configure?--prefix=$INSTALL_DIR/nginx?\
          ????--with-http_ssl_module?\
          ????--with-http_stub_status_module?\
          ????--with-stream
          ????command_status_check?"Nginx -?平臺(tái)環(huán)境檢查失敗!"
          ????make?-j?4?
          ????command_status_check?"Nginx -?編譯失敗!"
          ????make?install
          ????command_status_check?"Nginx -?安裝失敗!"
          ????mkdir?-p?$INSTALL_DIR/nginx/conf/vhost
          ????alias?cp=cp?;?cp?-rf?$PWD_C/nginx.conf?$INSTALL_DIR/nginx/conf
          ????rm?-rf?$INSTALL_DIR/nginx/html/*
          ????echo?"ok"?>?$INSTALL_DIR/nginx/html/status.html
          ????echo?''?>?$INSTALL_DIR/nginx/html/status.php
          ????$INSTALL_DIR/nginx/sbin/nginx
          ????command_status_check?"Nginx -?啟動(dòng)失敗!"
          }
          ?
          function?install_php()?{
          ????cd?$TMP_DIR
          ????yum?install?-y?gcc?gcc-c++?make?gd-devel?libxml2-devel?\
          ????????libcurl-devel?libjpeg-devel?libpng-devel?openssl-devel?\
          ????????libmcrypt-devel?libxslt-devel?libtidy-devel
          ????wget?http://docs.php.net/distributions/php-${PHP_V}.tar.gz
          ????tar?zxf?php-${PHP_V}.tar.gz
          ????cd?php-${PHP_V}
          ????./configure?--prefix=$INSTALL_DIR/php?\
          ????--with-config-file-path=$INSTALL_DIR/php/etc?\
          ????--enable-fpm?--enable-opcache?\
          ????--with-mysql?--with-mysqli?--with-pdo-mysql?\
          ????--with-openssl?--with-zlib?--with-curl?--with-gd?\
          ????--with-jpeg-dir?--with-png-dir?--with-freetype-dir?\
          ????--enable-mbstring?--enable-hash
          ????command_status_check?"PHP -?平臺(tái)環(huán)境檢查失敗!"
          ????make?-j?4?
          ????command_status_check?"PHP -?編譯失敗!"
          ????make?install
          ????command_status_check?"PHP -?安裝失敗!"
          ????cp?php.ini-production?$INSTALL_DIR/php/etc/php.ini
          ????cp?sapi/fpm/php-fpm.conf?$INSTALL_DIR/php/etc/php-fpm.conf
          ????cp?sapi/fpm/init.d.php-fpm?/etc/init.d/php-fpm
          ????chmod?+x?/etc/init.d/php-fpm
          ????/etc/init.d/php-fpm?start
          ????command_status_check?"PHP -?啟動(dòng)失敗!"
          }
          ?
          read?-p?"請(qǐng)輸入編號(hào):"?number
          case?$number?in
          ????1)
          ????????install_nginx;;
          ????2)
          ????????install_php;;
          ????3)
          ????????install_mysql;;
          ????4)
          ????????install_nginx
          ????????install_php
          ????????;;
          ????9)
          ????????exit;;
          esac

          10、監(jiān)控MySQL主從同步狀態(tài)是否異常腳本



          #!/bin/bash??
          HOST=localhost
          USER=root
          PASSWD=123.com
          IO_SQL_STATUS=$(mysql?-h$HOST?-u$USER?-p$PASSWD?-e?'show?slave?status\G'?2>/dev/null?|awk?'/Slave_.*_Running:/{print?$1$2}')
          for?i?in?$IO_SQL_STATUS;?do
          ????THREAD_STATUS_NAME=${i%:*}
          ????THREAD_STATUS=${i#*:}
          ????if?[?"$THREAD_STATUS"?!=?"Yes"?];?then
          ????????echo?"Error:?MySQL?Master-Slave?$THREAD_STATUS_NAME?status?is?$THREAD_STATUS!"?|mail?-s?"Master-Slave?Staus"[email protected]
          ????fi
          done

          11、MySql數(shù)據(jù)庫備份腳本



          分庫備份

          mysqldump?-uroot?-pxxx?-B?A?>?A.sql
          #!/bin/bash
          DATE=$(date?+%F_%H-%M-%S)
          HOST=localhost
          USER=backup
          PASS=123.com
          BACKUP_DIR=/data/db_backup
          DB_LIST=$(mysql?-h$HOST?-u$USER?-p$PASS?-s?-e?"show?databases;"?2>/dev/null?|egrep?-v?"Database|information_schema|mysql|performance_schema|sys")
          ?
          for?DB?in?$DB_LIST;?do
          ????BACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sql
          ????if?!?mysqldump?-h$HOST?-u$USER?-p$PASS?-B?$DB?>?$BACKUP_NAME?2>/dev/null;?then
          ????????echo?"$BACKUP_NAME?備份失敗!"
          ????fi
          done

          分表備份

          mysqldump?-uroot?-pxxx?-A?t?>?t.sql
          #!/bin/bash
          DATE=$(date?+%F_%H-%M-%S)
          HOST=localhost
          USER=backup
          PASS=123.com
          BACKUP_DIR=/data/db_backup
          DB_LIST=$(mysql?-h$HOST?-u$USER?-p$PASS?-s?-e?"show?databases;"?2>/dev/null?|egrep?-v?"Database|information_schema|mysql|performance_schema|sys")
          ?
          for?DB?in?$DB_LIST;?do
          ????BACKUP_DB_DIR=$BACKUP_DIR/${DB}_${DATE}
          ????[?!?-d?$BACKUP_DB_DIR?]?&&?mkdir?-p?$BACKUP_DB_DIR?&>/dev/null
          ????TABLE_LIST=$(mysql?-h$HOST?-u$USER?-p$PASS?-s?-e?"use?$DB;show?tables;"?2>/dev/null)
          ????for?TABLE?in?$TABLE_LIST;?do
          ????????BACKUP_NAME=$BACKUP_DB_DIR/${TABLE}.sql?
          ????????if?!?mysqldump?-h$HOST?-u$USER?-p$PASS?$DB?$TABLE?>?$BACKUP_NAME?2>/dev/null;?then
          ????????????echo?"$BACKUP_NAME?備份失敗!"
          ????????fi
          ????done
          done

          12、Nginx訪問日志分析



          #!/bin/bash
          #?日志格式:?$remote_addr?-?$remote_user?[$time_local]?"$request"?$status?$body_bytes_sent?"$http_referer"?"$http_user_agent"?"$http_x_forwarded_for"
          LOG_FILE=$1
          echo?"統(tǒng)計(jì)訪問最多的10個(gè)IP"
          awk?'{a[$1]++}END{print?"UV:",length(a);for(v?in?a)print?v,a[v]}'?$LOG_FILE?|sort?-k2?-nr?|head?-10
          echo?"----------------------"
          ?
          echo?"統(tǒng)計(jì)時(shí)間段訪問最多的IP"
          awk?'$4>="[01/Dec/2018:13:20:25"?&&?$4<="[27/Nov/2018:16:20:49"{a[$1]++}END{for(v?in?a)print?v,a[v]}'?$LOG_FILE?|sort?-k2?-nr|head?-10
          echo?"----------------------"
          ?
          echo?"統(tǒng)計(jì)訪問最多的10個(gè)頁面"
          awk?'{a[$7]++}END{print?"PV:",length(a);for(v?in?a){if(a[v]>10)print?v,a[v]}}'?$LOG_FILE?|sort?-k2?-nr
          echo?"----------------------"
          ?
          echo?"統(tǒng)計(jì)訪問頁面狀態(tài)碼數(shù)量"
          awk?'{a[$7"?"$9]++}END{for(v?in?a){if(a[v]>5)print?v,a[v]}}'?$LOG_FILE?|sort?-k3?-nr


          13、Nginx訪問日志自動(dòng)按天(周、月)切割



          #!/bin/bash
          #nginx日志目錄
          LOG_DIR=/www/server/nginx/logs
          #獲取到上一天的時(shí)間
          YESTERDAY_TIME=$(date?-d?"yesterday"?+%F)
          #歸檔日志取時(shí)間
          LOG_MONTH_DIR=$LOG_DIR/$(date?+"%Y-%m")
          #歸檔日志的名稱
          LOG_FILE_LIST="access.log"
          ?
          for?LOG_FILE?in?$LOG_FILE_LIST;?do
          ????[?!?-d?$LOG_MONTH_DIR?]?&&?mkdir?-p?$LOG_MONTH_DIR
          ????mv?$LOG_DIR/$LOG_FILE?$LOG_MONTH_DIR/${LOG_FILE}_${YESTERDAY_TIME}
          done
          ?
          kill?-USR1?$(cat?$LOG_DIR/nginx.pid)

          14、自動(dòng)發(fā)布Java項(xiàng)目(Tomcat)



          #!/bin/bash
          DATE=$(date?+%F_%T)
          ?
          TOMCAT_NAME=$1
          TOMCAT_DIR=/usr/local/$TOMCAT_NAME
          ROOT=$TOMCAT_DIR/webapps/ROOT
          ?
          BACKUP_DIR=/data/backup
          WORK_DIR=/tmp
          PROJECT_NAME=tomcat-java-demo
          ?
          #?拉取代碼
          cd?$WORK_DIR
          if?[?!?-d?$PROJECT_NAME?];?then
          ???git?clone?https://github.com/lizhenliang/tomcat-java-demo
          ???cd?$PROJECT_NAME
          else
          ???cd?$PROJECT_NAME
          ???git?pull
          fi
          ?
          #?構(gòu)建
          mvn?clean?package?-Dmaven.test.skip=true
          if?[?$??-ne?0?];?then
          ???echo?"maven?build?failure!"
          ???exit?1
          fi
          ?
          #?部署
          TOMCAT_PID=$(ps?-ef?|grep?"$TOMCAT_NAME"?|egrep?-v?"grep|$$"?|awk?'NR==1{print?$2}')
          [?-n?"$TOMCAT_PID"?]?&&?kill?-9?$TOMCAT_PID
          [?-d?$ROOT?]?&&?mv?$ROOT?$BACKUP_DIR/${TOMCAT_NAME}_ROOT$DATE
          unzip?$WORK_DIR/$PROJECT_NAME/target/*.war?-d?$ROOT
          $TOMCAT_DIR/bin/startup.sh

          15、自動(dòng)發(fā)布PHP項(xiàng)目



          #!/bin/bash
          ?

          DATE=$(date?+%F_%T)
          ?
          WWWROOT=/usr/local/nginx/html/$1
          ?
          ?
          BACKUP_DIR=/data/backup
          WORK_DIR=/tmp
          PROJECT_NAME=php-demo
          ?
          ?
          #?拉取代碼
          cd?$WORK_DIR
          if?[?!?-d?$PROJECT_NAME?];?then
          ???git?clone?https://github.com/lizhenliang/php-demo
          ???cd?$PROJECT_NAME
          else
          ???cd?$PROJECT_NAME
          ???git?pull
          fi
          ?
          ?
          #?部署
          if?[?!?-d?$WWWROOT?];?then
          ???mkdir?-p?$WWWROOT
          ???rsync?-avz?--exclude=.git?$WORK_DIR/$PROJECT_NAME/*?$WWWROOT
          else
          ???rsync?-avz?--exclude=.git?$WORK_DIR/$PROJECT_NAME/*?$WWWROOT
          fi

          16、DOS攻擊防范(自動(dòng)屏蔽攻擊IP)



          #!/bin/bash
          DATE=$(date?+%d/%b/%Y:%H:%M)
          #nginx日志
          LOG_FILE=/usr/local/nginx/logs/demo2.access.log
          #分析ip的訪問情況
          ABNORMAL_IP=$(tail?-n5000?$LOG_FILE?|grep?$DATE?|awk?'{a[$1]++}END{for(i?in?a)if(a[i]>10)print?i}')
          for?IP?in?$ABNORMAL_IP;?do
          ????if?[?$(iptables?-vnL?|grep?-c?"$IP")?-eq?0?];?then
          ????????iptables?-I?INPUT?-s?$IP?-j?DROP
          ????????echo?"$(date?+'%F_%T')?$IP"?>>?/tmp/drop_ip.log
          ????fi
          done

          17、目錄入侵檢測(cè)與告警



          #!/bin/bash
          ?

          MON_DIR=/opt
          inotifywait?-mqr?--format?%f?-e?create?$MON_DIR?|\
          while?read?files;?do
          ???#同步文件
          ???rsync?-avz?/opt?/tmp/opt
          ??#檢測(cè)文件是否被修改
          ???#echo?"$(date?+'%F?%T')?create?$files"?|?mail?-s?"dir?monitor"[email protected]
          done

          作者:南宮乘風(fēng)
          鏈接:blog.csdn.net/heian_99/article/details/104027379
          瀏覽 33
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产成人99精品免费视频明星 | 爱搞搞就要搞搞 | 97爱爱爱 | 免费做爱网站在线观看 | 欧美日韩国产中文 |