Time of Update: 2017-01-18
HBase是Google Bigtable的開源實現,它利用Hadoop HDFS作為其檔案儲存體系統,利用Hadoop MapReduce來處理HBase中的海量資料,利用Zookeeper作為協同服務。 1. 簡介 HBase是一個分布式的、面向列的開來源資料庫,源於google的一篇論文《bigtable:一個結構化資料的分布式儲存系統》。HBase是Google Bigtable的開源實現,它利用Hadoop HDFS作為其檔案儲存體系統,利用Hadoop
Time of Update: 2017-01-18
1,提取系統負載資訊複製代碼 代碼如下:#!/bin/shhost=$(hostname)channel=$(hostname | sed 's/[0-9]//g')runday=$(date +%Y-%m-%d)IPhost=$(/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')i=1 while [ $i -le 120 ];do
Time of Update: 2017-01-18
================================================= 本文為khler原作,轉載必須確保本文完整並完整保留原作者資訊及本文原始連結 Author: HeYuanHui E-mail: khler@163.com QQ: 23381103 MSN: pragmac@hotmail.com =================================================
Time of Update: 2017-01-18
1. 安裝msmtp luther@gliethttp:~$ sudo apt-get install msmtp 2. 編輯配置指令碼(~/.msmtprc是預設設定檔,也可以使用-C選項指定設定檔路徑) luther@gliethttp:~$ vim msmtprc #添加如下內容 defaults #logfile /home/luther/msmtp.log account luther_test host mail.gliethttp.cn from luther@gliethttp.
Time of Update: 2017-01-18
The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep.set time = 12:34:56set hr = `echo $time | awk '{split($0,a,":" ); print a[1]}'` # = 12set sec = `echo $time | awk '{split($0,a,":" ); print a[3]}'` # = 56#
Time of Update: 2017-01-18
bash shell只支援一維數組,但參數個數沒有限制。聲明一個數組:declare -a array(其實不用聲明,按數組方式直接賦值給變數即可,BASH就知道那是數組)數組賦值:(1) array=(var1 var2 var3 ... varN)(2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)(3) array[0]=var1 arrya[1]=var2
Time of Update: 2017-01-18
因為後台錄入的同事,上傳檔案的時候,給檔案取了相同的名字,但不同的尾碼名,由於檔案路徑非常深,大概十層左右,每一層又有幾十個檔案,所以人工找起來非常麻煩,所以寫了個指令碼,幫他們實現尋找指定目錄下所有子目錄及檔案,找出相同檔案名稱,不同尾碼的檔案,然後,手動保留其中一個。複製代碼 代碼如下:#!/bin/bash #判斷一下指令碼參數的問題 if [ $# -ne 1 ];then echo "Usage find_same.sh
Time of Update: 2017-01-18
1、使用規則awk 適合於文本處理和報表產生,它還有許多精心設計的特性,允許進行需要特殊技巧程式設計。awk 的文法較為常見。它借鑒了某些語言的一些精華部分,如C 語言、python 和 bash。第一個 awk讓我們繼續,開始使用 awk,以瞭解其工作原理。在命令列中輸入以下命令:$ awk '{ print }' /etc/passwd您將會見到 /etc/passwd 檔案的內容出現在眼前。現在,解釋 awk 做了些什麼。調用 awk 時,我們指定 /etc/passwd
Time of Update: 2017-01-18
1、$0 獲得當前指令碼的檔案名稱,包括路徑。複製代碼 代碼如下:#寫一個測試指令碼vim test.sh#內容如下dirname$0basename$0#執行一下bash$(pwd)/test.sh#輸出如下/home/janetest.sh2、$n 擷取當前執行指令碼的第n個參數,n=1..9,$0,為當前指令碼名。如果n大於9,使用${10}複製代碼 代碼如下:echo'echo '$(seq-s " $"1 5|sed's/1/$1/') > test_n.shcattest_n.
Time of Update: 2017-01-18
處理序間通訊的目的資料轉送:一個進程需要將它的資料發送給另一個進程,發送的資料量在一個位元組到幾MB之間。共用資料:多個進程想要操作共用資料,一個進程對共用資料的修改,別的進程應該立刻看到。通知事件:一個進程需要向另一個或一組進程發送訊息,通知它(它們)發生了某種事件(如進程終止時要通知父進程)。資源共用:多個進程之間共用同樣的資源。為了作到這一點,需要核心提供鎖和同步機制。進程式控制制:有些進程希望完全控制另一個進程的執行(如Debug進程),此時控制進程希望能夠攔截另一個進程的所有陷入和異常
Time of Update: 2017-01-18
AWK 提供了極其強大的功能: 可以進行Regex的匹配 樣式裝入 流量控制 數學運算子 進程式控制制語句 內建的變數和函數 可以把awk看作一門完全的程式設計語言,它處理文本的速度是快得驚人的。現在很多基於shell 日誌分析工具都可以用它完成。設計簡單,速度表現很好。 涉及到以上六個方面內容,我會在以後文章中加以介紹。 這次主要說下,怎麼樣把外部變數傳入到awk執行語句中。一、基礎:awk [ -F re] [parameter...] ['pattern {action}' ] [-f
Time of Update: 2017-01-18
該進入第四章了,剛才看到一個文章標題:我空有一身泡妞的好本領,但可惜自己是個妞。汗~這個。。。音樂無國界嘛,這個不應該也沒性別界嗎?第四章文本處理工具書中先說明了以下排序的規則,數值的就不用說了,該大就大該小就小,但是字元型很多時候是區分聲調或者重音的。在命令列中輸入locale查看自己系統的編碼配置。預設的是系統配置裡的,但是可以自己設定排序的編碼。如:複製代碼 代碼如下:$ LC_ALL=C sort french-english
Time of Update: 2017-01-18
一、安裝linux下面的一個郵件用戶端msmtp軟體(類似於一個foxmail的工具) 1、下載安裝: 複製代碼 代碼如下:# tar jxvf msmtp-1.4.16.tar.bz2# cd msmtp-1.4.16# ./configure --prefix=/usr/local/msmtp# make# make install 2、建立msmtp設定檔和記錄檔(host為郵件網域名稱,郵件使用者名test,密碼123456)複製代碼 代碼如下:# vim
Time of Update: 2017-01-18
作為一名Linux SA,日常營運中很多地方都會用到指令碼,而伺服器的ip一般採用靜態ip或者MAC綁定,當然後者比較操作起來相對繁瑣,而前者我們可以設定主機名稱、ip資訊、網關等配置。修改成特定的主機名稱在維護和管理方面也比較方便。如下指令碼用途為:修改ip和主機名稱等相關資訊,可以根據實際需求修改,舉一反三!複製代碼 代碼如下:#!/bin/sh #auto Change ip netmask gateway scripts #wugk
Time of Update: 2017-01-18
Linux下文本處理工具很豐富很強大,例如這樣一個檔案:複製代碼 代碼如下:cat log www.jb51.net 192.168.1.1www.jb51.net 192.168.1.1www.jb51.net
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/bin/bashcase "$1" instart) svnserve -d -r /svndata svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk
Time of Update: 2017-01-18
在Windows下寫了一個shell指令碼,上傳到Linux下執行時報錯:複製代碼 代碼如下:[root@localhost test]# ./test.sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory test.sh源碼: 複製代碼 代碼如下:#!/bin/sh echo "test shell
Time of Update: 2017-01-18
花了1天的時間寫了一個檢測某ip是否網路暢通的指令碼,只檢測網路是否暢通的功能很容易實現,但加了一些限制功能卻不好實現。複製代碼 代碼如下:#!/bin/bash#####################################################################################本指令碼放於異機,使用定時任務檢測192.168.10.231是否網路暢通,如果不通則發簡訊警示 #為防止頻繁收到簡訊,對傳送簡訊做了如下限制:
Time of Update: 2017-01-18
示範效果:1、一級菜單2、二級菜單3、執行操作指令碼參考:複製代碼 代碼如下:#!/bin/bash#author lic(oldboy linux student)#date
Time of Update: 2017-01-18
在日常生活中,隨機數實際上經常遇到,想丟骰子,抓鬮,還有抽籤。呵呵,非常簡單就可以實現。那麼在做程式設計,真的要通過自己程式設計出隨機數那還真的不簡單了。現在很多都是作業系統核心會提供相應的api,這些原始參數是擷取一些電腦運行原始資訊,如記憶體,電壓,物理訊號等等,它的值在一個時間段可以保證是唯一的了。好了,廢話我就不說了。呵呵。shell指令碼程式我們有那些獲得隨機數方法呢?一、通過時間獲得隨機數(date)這個也是我們經常用到的,可以說時間是唯一的,也不會重複的,從這個裡面獲得同一時間的唯