用於記錄nginx
1.壓縮目錄下文件並刪除原文件centos
1 ZIP_DAY=7 2 function zip { 3 local dir=$1 4 if [ -d $dir ];then 5 local file_num=`ls -l $dir |grep "^d"|wc -l` 6 if [ $file_num -ge $ZIP_DAY ];then 7 local tar_name=`ls -lt $dir | grep -v *.tar.gz | grep -v total | head -n 1 |awk '{print $9}'` 8 cd $dir 9 tar -czvPf $tar_name.tar.gz * --exclude=*.tar.gz >/dev/null 2>&1 10 if [[ $? -eq 0 ]];then 11 find $backup_dir/* -type d -exec rm -rf {} \; >/dev/null 2>&1 12 else 13 echo "失敗" 14 fi 15 fi 16 fi 17 }
2,過濾文件夾下不須要的文件bash
filter_array=() all=`ls $dir | grep .log` //目錄下全部的文件 gv=`ls -lt $dir | grep .log | awk '{print $9}' | head -5` //留前五條記錄 function filter_array { declare -a result_list t=0 flag=0 all_array=(${all//\ / }) gv_array=(${gv//\ / }) for a in ${all_array[@]} do for g in ${gv_array[@]} do if [ "$a" == "$g" ]; then flag=1 fi done if [ $flag -eq 0 ]; then result_list[t]=$a t=$((t+1)) else flag=0 fi done filter_array=${result_list[*]} }
3.遠程服務器執行命令服務器
ssh root@$IP >/dev/null 2>&1 <<EOF cd /usr/local ls exit EOF
4.centos 7流量轉發ssh
1 #!/bin/bash 2 function add { 3 firewall-cmd --zone=trusted --add-forward-port=port="本地端口":proto=tcp:toaddr= "目標主機ip":toport="目標主機端口" --permanent 4 firewall-cmd --reload 5 firewall-cmd --zone=trusted --list-all 6 } 7 8 function remove { 9 firewall-cmd --zone=trusted --remove-forward-port=port="本地端口":proto=tcp:toaddr="目標ip":toport="目標主機端口" --permanent 10 firewall-cmd --reload 11 firewall-cmd --zone=trusted --list-all 12 }
5.循環檢測進程是否被殺tcp
1 times=10 2 while(( "$times > 0" )) 3 do 4 pid=`ps -aef | grep "nginx" | awk '{print $2}'` 5 if [[ -z $pid ]] ; then 6 return 0 7 fi 8 sleep 1 9 let "times--" 10 done