Time of Update: 2017-01-18
在將windows上的jsp網頁移植到linux環境中時,發現一個個的轉換編碼及修改預設編碼類別型太慢,寫此指令碼進行嘗試檔案遍曆~好久不寫,手生了。複製代碼 代碼如下:#!/bin/bash##SPATH="/root/chengji/WebRoot"DPATH="/web"# 函數開始部分CYCLING(){ filelist=`ls -1 $SPATH` for filename in $filelist ; doif [ -f $filename ] ;
Time of Update: 2017-01-18
1.顯示消耗記憶體/CPU最多的10個進程複製代碼 代碼如下:ps aux | sort -nk +4 | tailps aux | sort -nk +3 | tail2.查看進程按記憶體從大到小排列複製代碼 代碼如下:ps -e -o "%C : %p : %z : %a"|sort -k5 -nr3.按cpu利用率從大到小排列複製代碼 代碼如下:ps -e -o "%C : %p : %z : %a"|sort
Time of Update: 2017-01-18
上次給大家發了一個python更新google hosts的指令碼,今天看到有人發出了一句用shell來擷取google hosts的指令碼,我就拿來稍微簡單加工了下,下面給大家shell版的更新google hosts的指令碼。指令碼內容:複製代碼 代碼如下:cat google_update.sh#!/bin/bashdata=`date +%y%m%d%H%M`curl http://www.360kb.com/kb/2_122.html 2>/dev/null | sed -n '
Time of Update: 2017-01-18
公司伺服器最近兩天老是因為記憶體被使用滿而造成死機,實在是受不了老叫機房的人去幫忙重啟,專門寫了個指令碼來釋放下記憶體,當然這台伺服器不是太重要,我粗魯的處理方式估計不會適合大多數伺服器,請大家使用之前先考慮清楚,不然造成資料丟失就不關我的事了.指令碼內容:cat check-mem.sh複製代碼 代碼如下:#!/bin/bashmem_total=`free -m | awk 'NR==2' | awk '{print $2}'`mem_free=`free -m | awk 'NR==3'
Time of Update: 2017-01-18
一.概念介紹網路程式分為服務端程式和用戶端程式。服務端即提供服務的一方,用戶端為請求服務的一方。但實際情況是有些程式的用戶端、伺服器端角色不是這麼明顯,即互為用戶端和服務端。我們編寫網路程式時,一般是基於TCP協議或者UDP協議進行網路通訊的。TCP:(Transfer Control Protocol)傳輸控制通訊協定是一種連線導向的協議, 當我們的網路程式使用這個協議的時候,網路可以保證我們的用戶端和服務端之間的傳輸是可靠的。UDP:(User Datagram
Time of Update: 2017-01-18
1、查看機器安裝了哪些shell? 有兩種方法可以查看。第一種: [rocrocket@wupengchong ~]$ chsh -l /bin/sh /bin/bash /sbin/nologin /bin/zsh 第二種: [rocrocket@wupengchong ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/zsh 其實chsh -l也是來查看這個檔案。2、查看當前正在使用的shell是哪個?
Time of Update: 2017-01-18
核心伺服器上跑了一堆的指令碼、程式,難免有時候會出現殭屍進程,死不死活不活的在那裡佔用資源,最初只是寫了個根據關鍵字查殺進程的linux shell指令碼,後來發現很多時候進程死在那裡的時候其實是內部調用子進程的時候出現了問題,這時候光殺父進程根本沒解決根本問題。比如說rsync的時候通過ssh來串連,rsync本身沒問題,但可能ssh死掉了。因此重新寫了指令碼,遞迴尋找子進程。複製代碼 代碼如下:#!/bin/sh# 遞迴找到導致進程僵死的最底層子進程並殺除.ParentProcessID=$
Time of Update: 2017-01-18
這裡簡單介紹一個自己寫的檢測某個進程是否存在的bash小指令碼。直接上代碼。複製代碼 代碼如下:#!/bin/bashps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v $0`result=$(echo $ps_out | grep "$1")if [[ "$result" != "" ]];then echo "Running"else echo "Not
Time of Update: 2017-01-18
今天公司同事要在一台伺服器上對另外兩台同機房的伺服器進行檔案傳輸,兩台伺服器的檔案存放地址一致,密碼和key也一致(我們公司在安全上做得有點變態的),為了效率寫了下面這個指令碼.1.單台傳輸指令碼cat /root/soft_shell/allscp.sh複製代碼 代碼如下:#!/usr/bin/expectif {$argc < 2} { send_user "usage: $argv0
Time of Update: 2017-01-18
一、scp是什嗎?scp是secure
Time of Update: 2017-01-18
最近對linux批量執行的指令碼高度興趣,在網上到處找有關expect批量執行指令碼,今天就給大家共用一個批量修改密碼的指令碼.指令碼內容:複製代碼 代碼如下:#!/usr/bin/expectif { $argc<2 } { send_user "usage: $argv0 <host file> <cmd file> \n" exit} # 機器列表資料格式:
Time of Update: 2017-01-18
1.ls -d *複製代碼 代碼如下:amosli@amosli-pc:~$ ls -d *%APPDATA% develop
Time of Update: 2017-01-18
此指令碼在生產伺服器上使用了一年多,本指令碼崇尚簡單唯美,只需要一個指令碼就可以在任何一台有網路的伺服器上自動設定LNMP。本指令碼會在指令碼執行目錄下,建packages目錄用於存放LNMP所需要的軟體。大家安裝完可以刪除該目錄。使用方法:1、把shell指令碼的內容儲存為nginx_php2、root許可權下運行:複製代碼 代碼如下:chmod u+x nginx_php; ./nginx_php init; ./nginx_php ins_mysql-server;
Time of Update: 2017-01-18
檢查遠程連接埠是否對bash開放:複製代碼 代碼如下:echo >/dev/tcp/8.8.8.8/53 && echo "open"讓進程轉入後台:複製代碼 代碼如下:Ctrl + z將進程轉到前台:複製代碼 代碼如下:fg產生隨機的十六進位數,其中n是字元數:複製代碼 代碼如下:openssl rand -hex n在當前shell裡執行一個檔案裡的命令:複製代碼 代碼如下:source /home/user/file.name截取前5個字元:複製代碼 代碼如下:${variable:
Time of Update: 2017-01-18
1.操作符(let 標誌符)+ 加法- 減法* 乘法/ 除法**
Time of Update: 2017-01-18
我的作業系統是centos6.4作業系統:rhel 6.2 x86_64下載並安裝putty軟體包,本人下載了putty-0.62-1.el6.rf.x86_64.rpm下載地址如下:http://rpm.pbone.net/index.php31、遠程主機IP列表檔案複製代碼 代碼如下:[root@localhost~]# vim server_list.txt192.168.0.13192.168.0.12192.168.0.112、遠程主機要執行的操作的檔案複製代碼 代碼如下:[root@
Time of Update: 2017-01-18
一般情況下,我們只需要監控程式進程在沒在就可以了。但是這次遭遇了這樣的事,公司開發的程式,程式進程還在,但是死結了。導致大範圍的影響,更要命的是根本不知道問題出在哪裡,還是別的測試部同事幫忙發現的,真是丟盡營運的臉了…為避免下次再遭遇到這樣的情況,分析了這次進程死結的現象,發現死結會佔用100%的cpu,正常情況下只佔用10%以內。決定編寫nagios外掛程式,用來監控程式佔用的資源,包括cpu,記憶體等。一、shell指令碼需求分析:
Time of Update: 2017-01-18
對於shell中的終端列印感覺很好玩!首Crowdsourced Security Testing道shell中終端列印有echo printf一般常用的就是echo咯;註:字型顏色 重設=0,黑色=30,紅色=31,綠色=32, ***=33,藍色=34, 洋紅=35, 青色=36, 白色=37. 背景顏色 重設=0,黑色=40,紅色=41,綠色=42, ***=43,藍色=44, 洋紅=45, 青色=46, 白色=47.要列印彩色文本,可輸入如下命令: 複製代碼
Time of Update: 2017-01-18
1、最簡單方法複製代碼 代碼如下::<<BLOCK....注釋內容BLOCK把輸入重定義到前面的命令,但是 : 是空命令,所以就相當於注釋了。如果注釋中有反引號的命令就會報錯,反引號部分不會被注釋掉,例如 var=`ls -l` 就不會被注釋掉。2、解決注釋中有反引號的問題A、方法一複製代碼 代碼如下::<<BLOCK'....注釋內容'BLOCKB、方法二複製代碼 代碼如下::<<'BLOCK....注釋內容BLOCK'C、方法三複製代碼
Time of Update: 2017-01-18
在進行文字檔進行處理時,對檔案件中的行、單詞、字元進行迭代和遍曆是非常常用的操作。而將一個簡單的迴圈用於迭代,再加上來自stdin或檔案的重新導向,這就是對檔案中的行、單詞、和字元進行迭代的基本方法。廢話不多說,馬上來看看怎麼樣實現吧。1、迭代文中的每一行使用while迴圈從標準輸入中讀取,因為要在標準輸入中讀取,就要對檔案進行重新導向,使它重新導向到stdin中,代碼如下:複製代碼 代碼如下:while read line; do echo $line;