1. 程式人生 > >Linux實用習題小總結

Linux實用習題小總結

習題一:檢視磁碟使用情況、顯示資料夾大小(顯示當前目錄下一層的目錄大小,所有層次大小,(分別按M顯示,按G顯示))、檢視CPU,記憶體情況、檢視聯機應用的程序.

df -h/du -sh 顯示磁碟使用情況、
du -sh */du -h –max-depth=1顯示當前目錄下一層的目錄大小、
du -h 顯示所有層次大小,(分別按M顯示,按G顯示)du -k、du -m
cat /proc/cpuinfo 檢視CPU詳細資訊 列表,
cat /proc/cpuinfo | grep processor |wc -l  檢視伺服器CPU核數
free 記憶體情況、
ps -ef|grep java/onlAppCB01SITADM 檢視聯機應用的程序、
ps -ef|grep tomcat 內管應用程序。
注:du -h –max-depth=0 user
–max-depth=n表示只深入到第n層目錄,此處設定為0,即表示不深入到子目錄
-s表示總結的意思,即只列出一個總結的值,
-h 以K,M,G為單位,提高資訊的可讀性,
-k 以K為單位,
-m 以M為單位,
-g 以G為單位,
uname -a 檢視cpu版本資訊,
cat /proc/meminfo  檢視RAM使用情況
ps aux –sort -rss  ps aux: 列出目前所有的正在記憶體當中的程式。

習題二:通過Kill命令殺死應用伺服器的程序,然後再啟動;(內管)

kill -9 程序號  ./startup.sh

習題三:簡單描述應用伺服器的各種日誌的意義,並給出存放的路徑(以各地方的版本為準,聯機和批量請分別說明)

聯機交易日誌路徑:../log/onlAppCB01SITADM/
../log/onlAppCB01SITADM/busi 存放交易執行日誌,按照日期,交易碼分開
../log/onlAppCB01SITADM/sys 存放平臺日誌(一些批量排程,慢SQL等日誌)
批量交易日誌路徑:../log/batAppCB01SITADM/
習題四:從IDE裡面找出一個命名SQL,然後從應用伺服器的日誌裡面找到這條命名SQL的耗時,只要一筆交易的耗時就行;

習題五:手動將本地的程式碼進行打包,然後手動將jar上傳到應用伺服器上面,並啟動應用;

      1.在程式碼存放目錄下,開啟命令框
	  2.mvn clean install -U -Pmodules 編譯生成jar包
	  3.利用xshell工具上傳jar包至指定伺服器對應目錄下
	  4.啟動應用服務

習題六:將應用伺服器上面的所有業務jar包,一次性傳送到Jenkins伺服器上面,然後賦值root使用者和使用者組;

1.scp -p36000 icore.tar 使用者名稱@地址:/data/ltts/icore/lib/
2.chown -R 使用者名稱 檔名 -- 為檔案及其子目錄賦值使用者和使用者組
3. tar zxvf icore.tar

### 習題七:將SIT應用伺服器的資料庫連線到開發環境的資料庫,重新服務,然後再搞回來;
1.在伺服器上找到對應應用伺服器的setting檔案
/data/ltts/icore/etc/onlAppCB01SITADM/settings.properties
在DAO服務.資料來源.mysqldb[0]/[1]中修改地址及例項,使用者名稱/密碼資訊。
2.重啟服務:
./ltts restart onlAppCB01SITADM

習題八:在應用伺服器上面重新安裝和配置JDK,再安裝一個tomcat,並能訪問tomcat首頁;(建議:在自己的虛擬機器環境裡面練習,虛擬機器軟體:VirtualBox)

 1.上傳jdk tomcat 安裝包 
tar  -xzvf  jdk-8u45-linux-x64.tar.gz
然後將jdk的包移動到/usr/local/資料夾下
mv jdk1.8.0_45  /user/local
在配置環境變數之前複製一份profile檔案
cp /etc/profile  /etc/profile1
然後編輯profile檔案 
vi /etc/profile  然後點選 i 進入insert模式
找到export。。。。。然後在其下面新增如下程式碼
export JAVA_HOME=/usr/local/jdk1.8.0_45
export JRE_HOME=/usr/local/jdk1.8.0_45/jre
export PATH=$PATH:/usr/local/jdk1.8.0_45/bin
export CLASSPATH=./:/usr/local/jdk1.8.0_45/lib:/usr/local/jdk1.8.0_45/jre/lib
然後按Esc鍵退出insert模式 並鍵入 :wq 退出 。然後輸入source /etc/profile使其生效。至此配置完畢。
輸入java ,javac ,java -version 來檢測
2.
tar -xzvf  tomcat-7.0.61.tar.gz
改名
mv tomcat-7.0.61  tomcat7
然後移動到/home/資料夾下
mv tomcat7  /home/
cd tomcat7/bin
然後鍵入./startup.sh來啟動tomcat
3.
在3.2的tomcat啟動成功之後,在位址列進行訪問,發現並不能訪問,輸入以下命令
service iptables status  檢視防火牆狀態
發現只有22埠是可以訪問的,

習題九:設定免密登入,從Jenkins伺服器免密登入到某個應用伺服器;(高階)

1.ssh-keygen
2.ssh-copy-id -i ~/.ssh/id_rsa.pub "-p36000 使用者名稱@地址" 需要輸入一次密碼
3.ssh 使用者名稱@地址 -p36000

習題十:編寫shell指令碼,規則:每日晚上9點自動歸檔上日所有的交易日誌檔案,然後放到指定的歸檔目錄內,再刪除30天前的歸檔日誌,請注意指令碼的存放位置;(高階)

   1.1建立shell:
         touch /opt/soft/bin/clear.sh
         chmod +x clear.sh
         新建一個可執行檔案clear.sh,並分配可執行許可權
    1.2編輯shell指令碼:
         vi clear.sh
         編輯clear.sh檔案如下:
         #!/bin/sh
		 
		 ##查詢日誌目錄下上日檔案,生成file.list
		 find ../log/onlAppCB01SITADM/busi -mtime +1 -name "*" >file.list;  
		 ##將上日檔案打包
		 tar -T tmp.list -czvf file$(date +%Y%m%d).tar.gz
		 ##放到指定歸檔目錄
		 mv file$(date +%Y%m%d).tar.gz /歸檔目錄
		 
		 ##刪除歸檔目錄下30天前的日誌
         find /歸檔目錄 -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
         
         find 對應目錄 -mtime +天數 -name "檔名" -exec rm -rf {} \;
         例項命令:
         find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
         說明:
         將/opt/soft/log/目錄下所有30天前帶".log"的檔案刪除。具體引數說明如下:
         find:linux的查詢命令,使用者查詢指定條件的檔案;
         /opt/soft/log/:想要進行清理的任意目錄;
         -mtime:標準語句寫法;
         +30:查詢30天前的檔案,這裡用數字代表天數;
         "*.log":希望查詢的資料型別,"*.jpg"表示查詢副檔名為jpg的所有檔案,"*"表示查詢所有檔案,這個可以靈活運用,舉一反三;
         -exec:固定寫法;
         rm -rf:強制刪除檔案,包括目錄;
         {} \; :固定寫法,一對大括號+空格+\+; 
         
         ok,儲存退出(:wq)。
    2.1計劃任務:
         #crontab -e
         將clear.sh執行指令碼加入到系統計劃任務,到點自動執行
         輸入:
         0 21 * * * /opt/soft/log/clear.sh >/dev/null 2>&1
         
         基本格式 : 
         *  *  *  *  *  command 
         分 時 日 月 周 命令 
         第1列表示分鐘1~59 每分鐘用*或者 */1表示 
         第2列表示小時1~23(0表示0點) 
         第3列表示日期1~31 
         第4列表示月份1~12 
         第5列標識號星期0~6(0表示星期天) 
         第6列要執行的命令
         
         這裡的設定是每天凌晨21點執行clear.sh檔案進行資料清理任務了。