導航:首頁 > 操作系統 > linux優化腳本

linux優化腳本

發布時間:2022-10-02 11:48:53

1. linux運維是做什麼工作的,

樓主您好!

linux運維崗位描述:
1、對linux下各種網路服務、應用系統、監控系統等進行自動化腳本開發的工作,並根據項目對系統進行性能優化;
2、負責網站項目中linux伺服器的部署與維護,解決linux系統下版本兼容性問題;
3、精通linux操作系統,熟練部署和維護linux伺服器以及在linux伺服器上架設各種服務;
4、熟練編寫shell
script腳本;
5、熟悉tcp/ip協議;
6、良好的英語讀寫能力,聽說能力優秀者優先。
7、熟練lamp,lnmp以及mysql,oracle資料庫維護

2. Linux裡面set -e命令作用是什麼

Linux裡面set -e命令作用是,如果一個命令返回一個非0退出狀態值(失敗),就退出.

這個命令-e參數企業應用極少

set的「+」 ,"-" 分別用於關閉或者打開某些特性;具體的特性有很多,這里介紹 -e 特性:

set -e ; 表示後續所有的bash 命令的返回code 如果不是0,那麼腳本立即退出,後續的腳本將不會得到執行的機會;

set +e ; 這個是默認的狀態,表示就算後續的命令如果返回值不是0,那麼腳本依然向下執行;

所以 set -e其實就是從設置的位置起,給腳本的每一條命令加上了同一個退出條件;而set +e 則是取消這種設置;

看下面的例子:

[root@oldboy ~]# cat test.sh

#!/bin/bash

function lookupstr(){

grep "sles" /etc/os-release >/dev/null 2>&1

if [ "$?" -ne 0 ];then

echo -e "Can not find the 'sles' string in file. "

fi

}

echo "Below results based on: set +e"

set +e

lookupstr

echo "Below results based on: set -e"

set -e

lookupstr

[root@oldboy ~]# ./test.sh

Below results based on: set +e

Can not find the 'sles' string in file.

Below results based on: set -e

[root@oldboy ~]#

set -e option 可以幫助優化腳本

3. linux系統運維工作內容

Linux運維分為初級、中級、高級,級別不同負責的工作內容不同。
初中級運維的日常涉及工作:
1、評估產品需求及發展需求,設計網站架構。
2、選擇IDC公司、雲產品,CDN等產品。
3、采購伺服器、安裝系統、配置服務、伺服器IDC上架。
4、調試網路、優化系統及服務。
5、上線代碼、配合研發搭建環境、調試、測試代碼。
6、監控硬體、軟體及各種業務應用。
7、配置收集日誌和,根據日誌信息報警及優化系統及服務
8、解決日常問題,如硬體(伺服器、交換機、硬體、網路等)、軟體(網路服務)、各類業務服務故障。
9、編寫自動化腳本(Shell、Python),自動化部署服務。
高級運維涉及的工作:
1、監控帶寬、流量、並發、業務介面等關鍵資源及訪問信息的變化趨勢。
2、根據相應趨勢變化不斷優化網站架構。
3、設計各類解決方案,解決公司業務發展中的遇到的網站瓶頸。
4、編寫各種自動化腳本(Shell、Python),自動化部署優化服務。
5、開發自動化部署和管理平台(CMDB),實現平台化運維。
6、開發運維管理平台、及運維工具產品,提升服務效率。
7、制定運維流程、規范、制度,並有序推進。
8、研究先進運維理念、模式,確保業務持續穩定、有序。

4. Linux運維每天都做什麼工作

Linux運維每天主要負責的工作:
1.每天登陸系統查看系統運行的負荷如何,有無報錯日誌或報警日誌。
2.操作系統故障排除,依據操作系統故障日誌分析出現該報警或報錯的原因,從而解決問題,保證操作系統的高可用性。
3.伺服器狀態確認,伺服器上除了跑著操作系統,必然會安裝一些應用程序或資料庫,運維工程師每天需要查看linux系統上運行著的應用程序或資料庫狀態是否正常。
4.備份,運維工程師的看家本事,資料庫備份和恢復,一般來說只要給資料庫制定了備份策略它會自己備份,你只需要監控備份任務是否執行了就可以。
5.伺服器調優,這個要求就比較高了,linux隨著使用時間的增長,狀態會有所下降,運維工程師有能力的可以對操作系統及資料庫進行性能調優,保證系統處於一個最佳狀態。

5. 在Linux下資料庫中怎樣設定一個時間自動執行一個shell腳本文件,例如:auto.sh

Linux資料庫應該是無法執行shell腳本的,應該是Linux系統下執行shell腳本吧。
直接在linux下輸入crontab -e,然後配置一段代碼如下:
01 8 * * * /bin/bash path(你的文件目錄)/auto.sh
前五位沒記錯的話應該分別對應分鍾,小時,日,月,星期。
如果你希望保存日誌的話可以用輸出重定向,如下:
01 8 * * * /bin/bash path(你的文件目錄)/auto.sh > /tmp/auto.log 2 > &1 &
這樣如果文件執行錯誤的話,你可以去/tmp目錄下去查詢錯誤日誌,便於程序的優化。
關於crontab的詳細介紹給你個傳送門:
http://www.jb51.net/LINUXjishu/19905.html
我也是菜鳥,共同學習共同進步,祝好。

6. 讓Linux系統保持活力的優化腳本

    筆者從生產系統上和網路資料上總結出幾種優化腳本,腳本從磁碟和內存方面入手,讓Linux系統保持活力。特別是第三種清理緩存釋放內存,可以結合筆者以前的文章-Linux健康檢查腳本health-check-script來做進一步的包裝,特別是在做大量數據備份之後,完成自動檢測和清理工作。

    下面的delete_data函數中的三條命令可以完成目錄下所有文件、log文件和log.gz文件按過期時間清理。

delete_data()

{

    delete_time=$1

    #清理目錄下所有過期文件

    find /home/pi/log/ -mtime +$delete_time -exec rm -r {} \;

    #清理目錄下.log過期文件

    find /home/pi/log/  -mtime +$delete_time -name '*.log' -exec rm -r {} \;

    #清理目錄下.log.gz過期文件

    find /home/pi/log/  -mtime +$delete_time -name '*.log.gz' -exec rm -r {} \;

}

2.1目錄下文件單獨壓縮打包

#將/home/pi/log/目錄下的.log文件打包成.gz文件,

find /home/pi/log/  -name '*.log' -exec gzip -f {} \;

運行測試,默認gzip 會刪除源文件,並生成xx.gz文件。

zcat  filename.gz  可以直接查看文件內容。gunzip –c filename.gz  可以解壓縮並保留源文件,但是解壓後顯示在標准輸出上,沒有解壓後文件。gunzip -cv filename.gz > filename ,可以保留源文件和壓縮後文件,-v是顯示進度。壓縮保留源文件是 gzip  -cv filename > filename.gz 。

2.2目錄下文件以前一起打包壓縮

    gzip無法壓縮文件夾,僅用於壓縮單個文件,要壓縮文件夾,應該使用tar + gzip ,即是tar -z。

#將log目錄下的文件打包並以時間命令,打包後以 gzip 壓縮

tar -zcvf  $(date +%Y%m%d%H%M%S)log.tar.gz log/

tar -ztvf log.tar.gz可以查看包內有哪些文件。

tar -zxvf 20210219143137log.tar.gz         解壓縮到當前目錄

tar  -zxvf  20210219143137log.tar.gz  -C  log2/  將包解壓到log2目錄下。

    頻繁的文件訪問(特別是數據備份後)會導致系統的Cache使用量大增。sysctl命令用於運行時配置內核參數,這些參數位於/proc/sys目錄下。

    這里我們來看一下 buff/cache的作用。

    buffer指Linux內存的 緩沖區緩存 Buffer cache,cache指Linux內存中的 頁面緩存 Page cache。

    Cache(Page cache,頁面緩存): 主要用來作為文件系統上的文件數據的緩存來用,尤其是針對當進程對文件有read/write操作的時候。

    Buffer(Buffer cache,緩沖區緩存): 主要是針對塊設備進行緩存的,比如當我們對一個文件進行寫操作的時候,page cache的內容會被改變,而buffer cache則可以用來將page標記為不同的緩沖區,並記錄是哪一個緩沖區被修改了。這樣,內核在後續執行臟數據的回寫(writeback)時,就不用將整個page寫回,而只需要寫回修改的部分即可。

    Linux內核會在內存將要耗盡的時候,觸發內存回收的工作,以便釋放出內存給急需內存的進程使用。怎麼手動清除呢?修改/proc/sys/vm/drop_caches 的值。看看英語說明:

to free pagecache, use echo 1 > /proc/sys/vm/drop_caches;

to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;

to free pagecache, dentries and inodes, use echo 3 > /proc/sys/vm/drop_caches.

    即3可以釋放所有類型的緩存。

  同時為了防止數據丟失,命令sync 將臟頁的內容寫回硬碟,但可能伴隨著系統磁碟IO飆高。

  運行free -m命令,再運行下面的腳本中的命令,發現 buff/cache減少了21M。

7. linux下運行腳本時出現killed怎麼解決

原因是由於內存溢出導致的:
當linux出現killed進程的時候,意味著整個系統的內存已經不足,如果不殺死進程的話,就會導致系統的崩潰。
解決辦法:
1.增加系統內存,
2.是優化進程,使其佔用內存降低。
3.是可以使用oom_score_adj參數,這個參數會被計算入oom_score,可以避免進程被殺死(不推薦使用)。

8. linux培訓哪些比較好

嗯…………自我認為,如果你想把Linux學的深入,細致一點的話,我建議去學習馬哥的課程,我之前就是和Linux完全處於一種陌生的關系中,不敢也不願去接觸,但是猶豫種種原因,以及一些巧合,我上了幾節馬哥的課程,十分系統,也十分幽默,於是便產生了興趣,哈哈,所以良心推薦馬哥的課程!!!

9. linux 腳本代碼出現問題

[ $count -gt 0 ] 這個[]內部的兩端都需要空格

10. 提高linux腳本cpu和內存使用率

linuxt提供了系統函數sysconf()用來讀取CPU和內存信息,先來了解一下sysconf()函數吧。

頭文件

#include<unistd.h>

函數原型

long sysconf (int name);

說明

sysconf() 返回選項 ( 變數) 的當前值,這個值可配置的但也是受系統限制的。在成功完成的情況下,sysconf() 返回 變數的當前值。該值受到的限制將少於編譯時 <limits.h>, <unistd.h> 或 <time.h> 中可用的對應值。大多數這些 變數的值在調用進程的生存時間內不變。
如果出錯,那麼函數返回 -1 ,並適當地設置 errno 。當沒有錯誤發生時, -1 也是一個合法的返回值。因此,程序要檢查錯誤,應該在調用 sysconf() 之前將 errno 設置為 0 ,然後,如果返回 -1,則檢驗到錯誤。
參數 name 指定我們感興趣的運行時限制的名字,它必須是以值中之一(除非另有說明,否則返回值都是整數):
_SC_2_C_BIND : 一個布爾值,指出是否支持 POSIX C 語言綁定。返回值是 _POSIX2_C_BIND 。
_SC_2_C_DEV : 一個布爾值,指出是否支持 POSIX C 語言開發使用工具選項。返回值是 _POSIX2_C_DEV 。
_SC_2_C_VERSION : 它指出支持哪一個 ISO POSIX.2 標准 (命令) 的版本。返回值是 _POSIX2_C_VERSION 。
_SC_2_CHAR_TERM : 一個布爾值,指出是否至少支持一個 終端。返回值是 _POSIX2_CHAR_TERM 。
_SC_2_FORT_DEV : 一個布爾值,指出是否支持 FORTRAN 開發使用工具選項。返回值是 POSIX2_FORT_DEV 。
注意:1、 CLK_TCK 的值是可變的,因此,不應該假設它是一個 編譯時間 常量。
2、調用 setrlimit 會使 OPEN_MAX 的值發生改變。
3、 通過將 sysconf (_SC_PHYS_PAGES) 和 sysconf (_SC_PAGESIZE) 相乘,來確定 物理內存的總量 (以 位元組為單位) 可以返回一個值,該值超出 32 位進程中 long 或 unsigned long 可表示的最大值。同樣適用於通過將 sysconf (_SC_PAGESIZE) 和 sysconf (_SC_AVPHYS_PAGES) 想乘,來確定未使用的 物理內存的總量 (以 位元組為單位)。這個問題有兩個工作區。第 1 個工作區將程序作為 64 位的進程進行編譯 (從而使 long 足夠大到可以容納乘法運算的結果) ,但是,這樣做的缺點是得到的程序只能在 64 位的內核中運行。第 2 個工作區是用來將得到的乘法運算結果存儲在一個 64 位的量中,如 longlong_t (Solaris OS 類型) 或 long long (linux)。它的有點是可以在 32 位和 64 位的內核中正確工作。

閱讀全文

與linux優化腳本相關的資料

熱點內容
非科班程序員自學 瀏覽:799
壓縮泡沫鞋底底材 瀏覽:217
程序員職場第一課2正確的溝通 瀏覽:677
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:77
大智慧均線源碼 瀏覽:371
單片機排阻的作用 瀏覽:213
滴滴金融app被下架如何還款 瀏覽:210
jpg轉換成pdf免費軟體 瀏覽:741
范里安pdf 瀏覽:443
偽造pdf 瀏覽:75
能刪除android文件夾嗎 瀏覽:446
LINUX使用V2ray 瀏覽:797
找人幫忙注冊app推廣是什麼 瀏覽:820
獨立伺服器如何恢復初始化 瀏覽:11
優秀到不能被忽視pdf 瀏覽:316
導遊程序員家政 瀏覽:586
22乘28的快速演算法 瀏覽:338
軟通動力程序員節2021 瀏覽:847
安卓系統如何卸載安裝包 瀏覽:872