當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]在使用linux的時(shí)候,必須養(yǎng)成好的習(xí)慣,那么好的習(xí)慣又哪些呢?

在使用linux的時(shí)候,必須養(yǎng)成好的習(xí)慣,那么好的習(xí)慣又哪些呢?

一、線上操作規(guī)范

1、測試使用

當(dāng)初學(xué)習(xí) Linux 的使用,從基礎(chǔ)到服務(wù)到集群,都是在虛擬機(jī)做的,雖然老師告訴我們跟真機(jī)沒有什么差別,可是對真實(shí)環(huán)境的渴望日漸上升,不過虛擬機(jī)的各種快照卻讓我們養(yǎng)成了各種手賤的習(xí)慣,以致于拿到服務(wù)器操作權(quán)限時(shí)候,就迫不及待的想去試試。

記得上班第一天,老大把 root 密碼交給我,由于只能使用 PuTTY,我就想使用 XShell,于是悄悄登錄服務(wù)器嘗試改為 XShell + 密鑰登錄,因?yàn)闆]有測試,也沒有留一個(gè) SSH 連接,所有重啟 SSHD 服務(wù)器之后,自己就被擋在服務(wù)器之外了,幸好當(dāng)時(shí)我備份了 sshd_config 文件,后來讓機(jī)房人員 cp 過去就可以了,幸虧這是一家小公司,不然直接就被干了……慶幸當(dāng)年運(yùn)氣比較好。

第二個(gè)例子是關(guān)于文件同步的,大家都知道 rsync 同步很快,可是刪除文件的速度大大超過了 rm -RF,在 rsync 中有一個(gè)命令是以某目錄為準(zhǔn)同步某文件(如果第一個(gè)目錄是空的,那么結(jié)果可想而知),源目錄(有數(shù)據(jù)的)就會被刪除,當(dāng)初我就是因?yàn)檎`操作,以及缺乏測試,就目錄寫反了,關(guān)鍵是沒有備份……生產(chǎn)環(huán)境數(shù)據(jù)被刪了,沒備份,大家自己想后果吧,其重要性不言而喻。2、Enter 前再三確認(rèn)

關(guān)于 rm -rf /var 這種錯(cuò)誤,我相信手快的人,或者網(wǎng)速比較慢的時(shí)候,出現(xiàn)的幾率相當(dāng)大。

當(dāng)你發(fā)現(xiàn)執(zhí)行完之后,你的心至少是涼了半截。

大家可能會說,我按了這么多次都沒出過錯(cuò),不用怕,我只想說,當(dāng)出現(xiàn)一次你就明白了,不要以為那些運(yùn)維事故都是在別人身上,如果不注意,下一個(gè)就是你。

3、切忌多人操作

我在的上一家公司,運(yùn)維管理相當(dāng)混亂,舉一個(gè)最典型的例子吧,離職的好幾任運(yùn)維都有服務(wù)器 root 密碼。

通常我們運(yùn)維接到任務(wù),都會進(jìn)行簡單查看。如果無法解決,就請求他人幫忙,可是當(dāng)問題焦頭爛額的時(shí)候,客服主管(懂點(diǎn) Linux)、網(wǎng)管、你的上司一起調(diào)試一個(gè)服務(wù)器。

當(dāng)你各種百度,各種對照完了發(fā)現(xiàn),你的服務(wù)器配置文件,跟上次你修改不一樣了,然后再改回來,然后再谷歌,興沖沖發(fā)現(xiàn)問題,解決了,別人卻告訴你,他也解決了,修改的是不同的參數(shù)……這樣我就真不知道哪個(gè)是問題真正的原因了,當(dāng)然這還是好的,問題解決了,皆大歡喜,可是你遇到過你剛修改的文件,測試無效,再去修改發(fā)現(xiàn)文件又被修改的時(shí)候呢?真的很惱火,切忌多人操作。

4、先備份后操作

養(yǎng)成一個(gè)習(xí)慣,要修改數(shù)據(jù)時(shí),先備份,比如 .conf 的配置文件。

另外,修改配置文件時(shí),建議注釋原選項(xiàng),然后再復(fù)制,修改。

再者說,如果第一個(gè)例子中,有數(shù)據(jù)庫備份,那 rsync 的誤操作不就沒事了吧。

所以說丟數(shù)據(jù)庫非一朝一夕,隨便備份一個(gè)就不用那么慘。

二、涉及數(shù)據(jù)

1、慎用 rm -rf

網(wǎng)上的例子很多,各種 rm -rf /,各種刪除主數(shù)據(jù)庫,各種運(yùn)維事故……一點(diǎn)小失誤就會造成很大的損失。如果真需要刪除,一定要謹(jǐn)慎。

2、備份大于一切

本來上面都有各種關(guān)于備份的內(nèi)容,但是我想把它劃分在數(shù)據(jù)類再次強(qiáng)調(diào),備份非常之重要。

我記得我的老師說過一句話,涉及到數(shù)據(jù)何種謹(jǐn)慎都不為過。

我就職的公司有做第三方支付網(wǎng)站和網(wǎng)貸平臺的。第三方支付是每兩個(gè)小時(shí)完全備份一次,網(wǎng)貸平臺是每 20 分鐘備份一次。我不多說了,大家自己斟酌吧

3、穩(wěn)定大于一切

其實(shí)不止是數(shù)據(jù),在整個(gè)服務(wù)器環(huán)境,都是穩(wěn)定大于一切,不求最快,但求最穩(wěn)定,求可用性。

所以未經(jīng)測試,不要在服務(wù)器使用新的軟件,比如 Nginx + PHP – FPM,生產(chǎn)環(huán)境中 PHP 各種掛,重啟或者換 Apache 就好了。

4、保密大于一切

現(xiàn)在各種艷照門漫天飛,各種路由器后門,所以說,涉及到數(shù)據(jù),不保密是不行的。

三、涉及安全

1、SSH

更改默認(rèn)端口(當(dāng)然如果專業(yè)要黑你,掃描下就出來了)

禁止 root 登錄

使用普通用戶 + key 認(rèn)證 + sudo 規(guī)則 + IP 地址 + 用戶限制

使用 HostDeny 類似的防爆力破解軟件(超過幾次嘗試直接拉黑)

篩選 /etc/passwd 中 login 的用戶

2、防火墻

防火墻生產(chǎn)環(huán)境一定要開,并且要遵循最小原則,drop 所有,然后放行需要的服務(wù)端口。

3、精細(xì)權(quán)限和控制粒度

能使用普通用戶啟動的服務(wù)堅(jiān)決不使用 root,把各種服務(wù)權(quán)限控制到最低,控制粒度要精細(xì)。

4、入侵檢測和日志監(jiān)控

使用第三方軟件,時(shí)刻檢測系統(tǒng)關(guān)鍵文件以及各種服務(wù)配置文件的改動。比如 /etc/passwd,/etc/my.cnf,/etc/httpd/con/httpd.con 等。

使用集中化的日志監(jiān)控體系,監(jiān)控 /var/log/secure,/etc/log/message,F(xiàn)TP 上傳下載文件等報(bào)警錯(cuò)誤日志。

另外針對端口掃描,也可以使用一些第三方軟件,發(fā)現(xiàn)被掃描就直接拉入 host.deny。這些信息對于系統(tǒng)被入侵后排錯(cuò)很有幫助。有人說過,一個(gè)公司在安全投入的成本跟他被安全攻擊損失的成本成正比,安全是一個(gè)很大的話題。

也是一個(gè)很基礎(chǔ)的工作,把基礎(chǔ)做好了,就能相當(dāng)?shù)奶岣呦到y(tǒng)安全性,其他的就是安全高手做的了。

四、日常監(jiān)控

1、系統(tǒng)運(yùn)行監(jiān)控

好多人踏入運(yùn)維都是從監(jiān)控做起,大的公司一般都有專業(yè) 24 小時(shí)監(jiān)控運(yùn)維。系統(tǒng)運(yùn)行監(jiān)控一般包括硬件占用率,常見的有,內(nèi)存,硬盤,CPU,網(wǎng)卡,OS 包括登錄監(jiān)控,系統(tǒng)關(guān)鍵文件監(jiān)控。定期的監(jiān)控可以預(yù)測出硬件損壞的概率,并且給調(diào)優(yōu)帶來很實(shí)用的功能。

2、服務(wù)運(yùn)行監(jiān)控

服務(wù)監(jiān)控一般就是各種應(yīng)用,Web,DB,LVS 等,這一般都是監(jiān)控一些指標(biāo),在系統(tǒng)出現(xiàn)性能瓶頸的時(shí)候就能很快發(fā)現(xiàn)并解決。

3、日志監(jiān)控

這里的日志監(jiān)控跟安全的日志監(jiān)控類似,但這里一般都是硬件,OS,應(yīng)用程序的報(bào)錯(cuò)和警報(bào)信息。

監(jiān)控在系統(tǒng)穩(wěn)定運(yùn)行的時(shí)候確實(shí)沒啥用,但是一旦出現(xiàn)問題,你又沒做監(jiān)控,就會很被動了。

五、性能調(diào)優(yōu)

1、深入了解運(yùn)行機(jī)制

其實(shí)按一年多的運(yùn)維經(jīng)驗(yàn)來說,談?wù){(diào)優(yōu)根本就是紙上談兵,但是我只是想簡單總結(jié)下,如果有更深入的了解,我會更新。

在對軟件進(jìn)行優(yōu)化之前,要深入了解一個(gè)軟件的運(yùn)行機(jī)制,比如 Nginx 和 Apache。大家都說 Nginx 快,那就必須知道 Nginx 為什么快,利用什么原理,處理請求和 Apache 比較,并且要能跟別人用淺顯易懂的話說出來,必要的時(shí)候還要能看懂源代碼,否則一切以參數(shù)為調(diào)優(yōu)對象的文檔都是瞎談。

2、調(diào)優(yōu)框架以及先后

熟悉了底層運(yùn)行機(jī)制,就要有調(diào)優(yōu)的框架和先后順序,比如數(shù)據(jù)庫出現(xiàn)瓶頸,好多人直接就去更改數(shù)據(jù)庫的配置文件,我的建議是,先根據(jù)瓶頸去分析,查看日志,寫出來調(diào)優(yōu)方向,然后再入手,并且數(shù)據(jù)庫服務(wù)器調(diào)優(yōu)應(yīng)該是最后一步,最先的應(yīng)該是硬件和操作系統(tǒng),現(xiàn)在的數(shù)據(jù)庫服務(wù)器都是在各種測試之后才會發(fā)布,適用于所有操作系統(tǒng),不應(yīng)該先從它入手。

3、每次只調(diào)一個(gè)參數(shù)

每次只調(diào)一個(gè)參數(shù),這個(gè)相信大家都了解,調(diào)的多了,你自己就迷糊了。

4、基準(zhǔn)測試

判斷調(diào)優(yōu)是否有用,和測試一個(gè)新版本軟件的穩(wěn)定性和性能等方面,都必須要進(jìn)行基準(zhǔn)測試,測試要涉及很多因素。

測試是否接近業(yè)務(wù)真實(shí)需求這要看測試人的經(jīng)驗(yàn)了,相關(guān)資料大家可以參考《 高性能 MySQL 》第三版。

我的老師曾說過,沒有放之四海皆準(zhǔn)的參數(shù),任何參數(shù)更改任何調(diào)優(yōu)都必須符合業(yè)務(wù)場景。所以不要再谷歌什么什么調(diào)優(yōu)了,對你的提升和業(yè)務(wù)環(huán)境的改善沒有長久作用。

六、運(yùn)維心態(tài)

1、控制心態(tài)

很多 rm -rf /data 都在下班的前幾分鐘,都在煩躁的高峰,那么你還不打算控制下你的心態(tài)么?

有人說了,煩躁也要上班,可是你可以在煩躁的時(shí)候盡量避免處理關(guān)鍵數(shù)據(jù)環(huán)境。越是有壓力,越要冷靜,不然會損失更多。

大多人都有 rm -rf /data/mysql 的經(jīng)歷,發(fā)現(xiàn)被刪除之后,那種心情你可以想象一下,可是如果沒有備份,你急又有什么用,一般這種情況下,你就要冷靜想下最壞打算。對于 MySQL 來說,刪除了物理文件,一部分表還會留在內(nèi)存中,所以斷開業(yè)務(wù),但是不要關(guān)閉 MySQL 數(shù)據(jù)庫,這對恢復(fù)很有幫助,并使用 dd 復(fù)制硬盤,然后再進(jìn)行恢復(fù)

當(dāng)然了大多時(shí)候你就只能找數(shù)據(jù)恢復(fù)公司了。試想一下,數(shù)據(jù)被刪了,你各種操作,關(guān)閉數(shù)據(jù)庫,然后修復(fù),不但有可能覆蓋文件,還找不到內(nèi)存中的表了。

2、對數(shù)據(jù)負(fù)責(zé)

生產(chǎn)環(huán)境不是兒戲,數(shù)據(jù)庫也不是兒戲,一定要對數(shù)據(jù)負(fù)責(zé)。不備份的后果是非常嚴(yán)重的。

3、追根究底

很多運(yùn)維人員比較忙,問題解決后就不會再管了。記得去年一個(gè)客戶的網(wǎng)站老是打不開,經(jīng)過 PHP 代碼報(bào)錯(cuò),發(fā)現(xiàn)是 session 和 whos_online 損壞,前任運(yùn)維是通過 repair 修復(fù)的,我就也這樣修復(fù)了,但是過了幾個(gè)小時(shí),又出現(xiàn)了。反復(fù)三四次之后,我就去谷歌搜索數(shù)據(jù)庫表莫名損壞原因:

MyISAM 的 Bug;

MySQL Bug;

MySQL 在寫入過程中被 kill。

最后發(fā)現(xiàn)是內(nèi)存不夠用,導(dǎo)致 OOM kill 了 mysqld 進(jìn)程,并且沒有 swap 分區(qū),后臺監(jiān)控內(nèi)存是夠用的,最終通過升級物理內(nèi)存解決了。

4、測試和生產(chǎn)環(huán)境

在重要操作之前一定要看自己所在的機(jī)器,盡量避免多開窗口。

以上就是學(xué)習(xí)Linux的習(xí)慣和教訓(xùn)了,希望小伙伴們能養(yǎng)成習(xí)慣,避免教訓(xùn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉