Linux實用習題小總結
阿新 • • 發佈:2018-11-11
習題一:檢視磁碟使用情況、顯示資料夾大小(顯示當前目錄下一層的目錄大小,所有層次大小,(分別按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檔案進行資料清理任務了。