国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

利用While解決文件等待問題

系統 Linux
前幾天有個朋友向筆者求助,他說他在Unix系統管理的時候遇到了一個問題。

前幾天有個朋友向筆者求助,他說他在Unix系統管理的時候遇到了一個問題。他在Unix系統中部署了一個數據庫系統。現在他希望能夠對這個數據庫實現異地備份。他的解決思路是,先利用數據庫自身的功能進行本地備份(數據庫沒有自動進行異地備份的功能),然后再將這個備份文件復制到異地去。如果備份是確定的,即按照計劃來進行備份,如每天晚上12點備份,這是好解決的。只需要利用Unix系統自帶的CRON任務計劃功能即可以解決。但是現在的問題是,有時候這個備份具有不確定性。如數據庫管理員有時候也需要進行臨時的備份,為此他希望對于這些臨時備份也能夠自動實現異地備份。所以,此時利用cron任務計劃功能就無能為力了。

一、解決思路。

針對這些臨時性的備份任務,如果少的話,那么可以對其進行手工異地備份。然后利用cron任務計劃執行有計劃的異地備份工作。如果臨時性備份比較頻繁,而用戶又確實對異地備份的功能比較急切的話,那么就只能夠采用其他折中的處理方式。筆者下面的這個解決思路,希望能夠幫助解決這個問題。這個思路比較簡單,即讓操作系統隔一段固定的時間(如10分鐘)就去檢查一下是否有生成了備份文件。如果生成了的話,則系統就將這個備份文件移動(不是復制)到異地進行備份。

不過筆者這里要介紹的是另外一種解決方式,即利用while循環來解決這個文件等待的問題。其實,這個文件等待也不是這個系統工程師遇到的問題,而是具有一定的普遍性。如一個應用程序需要從一個文件中讀取數據,而這個文件又是另一個應用程序或者同一個應用程序的不同進程所產生的。為此,必須在另外一個程序或者進程創建完這個文件之后,原先的應用程序才能夠得到順利的運行。所以,如果從程序設計的角度,就是需要使用某個腳本,去偵測這個特定的文件是否已經成功創建。如果創建的話,執行某個命令,讓其自動調用某個程序。如在實現無人值守安裝時,需要一個參數文件。此時系統工程師可以編寫一個腳本,先判斷這個參數文件是否存在。如果存在的話,則馬上進行安裝。如果不存在的話,則進行等待。直到這個配置文件正常建立,然后啟動安裝進程(此時系統工程師不需要重新啟動腳本程序)。

二、具體實現。

以上介紹的這個思路,主要是利用while循環來實現的。利用while循環,操作系統會重復的執行一組命令,直到控制命令返回一個假false的狀態值。如果要實現上面這個無人值守的安裝進程,可以通過如下的腳本來實現。

While [! –r profile.txt] #循環條件語句

do #循環操作語句

sleep 30

done

./setup.sh

在編寫這個腳本的時候,各個部分的含義是什么,又有哪些注意事項呢?具體來說,系統工程師需要掌握下面的內容。這些是寫好一個while循環結構最基本的東西。

首先,需要直到常見循環條件語句的書寫。一般來說,任何Unix命令或者test內容都可以作為循環條件。也就是說,只要掌握了Unix常用的命令,既可以寫好循環語句。話雖然這么說,但是有時候寫這個循環語句的時候,系統工程師往往需要有一定的創意,或者說需要有經驗的積累。確實,最終的循環語句都是基本的操作系統命令所組成的。但是有時候往往需要對他們進行靈活的組合。如筆者上面用的這個循環條件語句,相對來說比較簡單,但是并不一定每個系統工程師都可以像得到。筆者這個! –r profile.txt循環條件語句的含義,就是不能夠讀某個文件。一般情況下建立的文件當前用戶都是可讀的。如果系統判斷不可讀的話,那么百分之百可以確定是這個文件不存在(只要權限沒有調整過)。換句話說,有時候系統工程師往往需要換一種角度去考慮問題。如按照這個案例,需要將“文件不存在”轉換為“文件不可讀”。此時這個循環條件語句就容易寫了。可惜的是,不少系統工程師缺少的就是這種轉換的能力。這部進行需要踏實的基礎,而且還需要一定的創新能力以及相當的工作經驗的積累。為此筆者建議,要用好Unix操作系統或者Linux操作系統,那么在平時的工作中就要有意識的鍛煉自己這種能力。

其次需要了解操作語句的編寫技巧。有時候為了實現某些特定的需求,往往在while循環結構內部的操作語句部分,不會寫一些實際的操作語句。而是將操作語句寫在循環的外部。如上面這個案例中,筆者在內部的操作語句部分,使用了語句sleep 30。這是什么意思呢?如果結合整個While循環結構,他的意思就是,如果條件滿足的話(profile配置文件不可讀,即不存在),則每個30秒執行以下這個循環。如果條件不滿足的話(profile配置文件可讀,即存在),則跳出這個循環,然后執行后續的語句。也就是說,此時筆者將真正要執行的操作(啟動某個安裝進程),放在了循環的外部。而在循環內部使用sleep 30,用來控制循環執行的時間。當然,在這個循環內部也可以寫一些實際性的操作。如在屏幕上或者安裝日志中顯示一些“找不到配制文件”等類似的錯誤信息。往往這些類似友好的提示信息,可以提高程序的友好性。類似的處理機制還有很多。系統工程師需要在日常的工作中注意總結。另外,如果多看看其他工程師編寫的腳本程序,往往能夠從中獲取不少有價值性的內容。模仿往往是在最短時間內增強自己業務能力的捷徑。

最后就是需要注意書寫格式與規范方面的內容。在編寫循環結構時,無論是while循環還是for循環,如果能夠有意識的采用TAB鍵或者空格鍵,可以明顯的提高代碼的可讀性。如循環內部結構的執行語句最好能夠跟do或者done等關鍵字分行寫,并且采用縮進的格式。雖然即時不遵守這些規則,腳本程序也沒有實質性的影響。但是,對后續維護閱讀的時候,會增加不少的困難。特別是當循環內部語句比較多的時候。所以對于這些代碼編寫規范,系統工程師最好還是需要遵守。畢竟對于一些復雜的功能,需要團隊合作才能夠實現。如果大家都能夠遵守同一的書寫規范,那么無疑可以提高團隊的協作型。還有就是需要注意語法方面的內容,不do后面沒有分號結尾符等等。這些語法性的錯誤系統在執行時會告知,所以問題不大。只是會增加返工的幾率與工作量而已。

三、利用while實現無限循環。

如上面那個數據庫異地備份的案例,其實若能夠通過無限循環來實現可能會更加的合適。如讓操作系統每隔30分鐘來執行一次循環。循環內不能的操作就是先利用if語句來判斷備份文件是否在30分鐘內更新過。如果有更新的話,就將其復制或者移動到遠程的服務器上。不管有沒有更新,這個循環的話,每30分鐘就需要執行一次。此時就需要用到無限循環。利用while循環條件的含義,這個無限循環很容易實現,只需要循環條件語句設置為true即可。即while true ; do 操作語句 ;done &。

在這個循環結構中,筆者采用true作為循環條件,其循環條件永遠為真,那么操作系統就會一直循環下去,直到用戶手工終止。另外需要注意的是,如果循環語句比較簡單,可以在同一行中書寫。只是在中間合適的位置(如關鍵字之前)需要加以分號來進行識別。另外,為了避免對其他進程進行干擾,最好將這些無限循環的操作放置到后臺運行,這可以保障各個進程之間相對的獨立性。此時只需要在done關鍵字后面加入&符號即可,就可以告訴操作系統將這個無限循環放入到后臺運行。

不過在編寫無限循環的時候,需要注意死循環的發生。如循環內部的某個操作比較耗時。在這個操作還沒有完成之前,新的循環又開始了。這久而久之,必將耗盡系統資源。為此,在程序內部最好還是需要設置一些條件,如CPU等資源的使用程度,來強制結束無限循環。筆者認為這是比較安全的處理方式,可以有效的避免無限循環影響操作系統性能。

【編輯推薦】

  1. Linux系統下配置Netware服務器方法
  2. 嵌入式設備上的 Linux 系統開發
  3. 深度介紹Linux內核是如何工作的(1)
責任編輯:龐桂玉 來源: 中國IT實驗室
相關推薦

2009-09-04 10:55:34

2020-04-23 11:43:55

MySQL數據庫SQL

2022-09-13 11:20:42

LoRaWAN廣域網

2013-02-27 09:16:34

2021-06-03 13:53:31

機器人數據自動化 AIOps

2009-11-06 16:13:45

WCF回調

2015-08-03 15:06:13

2009-08-10 13:49:50

C# txt文件

2009-03-17 10:04:40

TemplateAJAXASP.NET

2021-03-26 10:40:16

MySQL鎖等待死鎖

2021-10-13 08:00:00

數據算法人工智能

2009-05-06 15:14:18

DB2日期時間

2024-04-17 07:59:26

React狀態管理屬性鉆取

2015-05-28 13:36:27

Windows黑屏假死

2010-03-10 12:33:10

Python腳本

2018-07-18 12:07:44

2024-04-01 07:00:00

電信行業人工智能

2010-05-19 19:05:11

2019-09-17 11:18:09

SQLMySQLJava

2021-01-13 10:53:48

人工智能費用管理AI
點贊
收藏

51CTO技術棧公眾號

国产欧美日韩亚洲| 日韩免费观看网站| 久久.com| 国产成人一级电影| 久久综合一区| 欧美精品国产一区| 91在线视频成人| 久久婷婷蜜乳一本欲蜜臀| 国内揄拍国内精品少妇国语| www.成人在线视频| 亚洲精品国产精品乱码不99按摩| 日本中文字幕在线视频| 午夜私人影院久久久久| 原千岁中文字幕| 亚洲色图清纯唯美| 天堂中文字幕一二区| 中文字幕精品—区二区四季| 亚洲黄色a v| 久久精品男人天堂av| 无码精品国产一区二区三区免费| 国产电影一区二区三区| 国产精品啪啪啪视频| 国产在线精品不卡| 妞干网在线播放| 不卡的电视剧免费网站有什么| 成年人网站国产| 99国产精品久久久久久久久久 | 精品久久久久久久久久久久| 全部a∨一极品视觉盛宴| 精品无码国产一区二区三区av| 91免费视频国产| 日韩在线电影一区| 国产精品一国产精品k频道56| 91中文字幕一区| 91精品高清| 激情久久av| 久久一二三四| 正在播放一区| 久久精品免费看| 日本阿v视频在线观看| 波多野洁衣一区| 大香煮伊手机一区| 国产精品私房写真福利视频| 亚洲综合婷婷久久| 亚洲高清视频在线| 亚洲精品一区二区三区香蕉| 日本xxxxwwww| 亚洲精品国产一区二区精华液 | 欧美午夜精品伦理| 午夜在线小视频| 亚洲美女激情视频| 日韩欧美另类中文字幕| 国产精品狠色婷| 亚洲另类自拍| av免费看网址| 亚洲女同ⅹxx女同tv| av资源种子在线观看| 亚洲国产精品嫩草影院久久| 日本国产亚洲| 国产在线观看一区二区三区| 天堂va蜜桃一区二区三区漫画版| 欧美这里只有精品| 亚洲欧美视频在线观看视频| 精产国品自在线www| 中日韩美女免费视频网址在线观看 | 国产麻豆综合| 成人毛片一区二区| 午夜精品福利一区二区蜜股av | 最新国产成人在线观看| 91caoporn在线| 日韩一区二区精品视频| 成人久久电影| 中文字幕在线亚洲精品| 国产精品伦理在线| 91美女视频在线| 欧美精品video| 亚洲深夜影院| 橘梨纱av一区二区三区在线观看| 亚洲精品美女免费| 欧美hentaied在线观看| 九色在线视频观看| 欧美一区三区二区| 一区二区三区日本久久久| 一本久道久久综合狠狠爱亚洲精品| 国产精品久久久久久久午夜片| 永久免费av在线| 91精品国产亚洲| 激情图片小说一区| 欧美精品少妇| 欧美精品久久久久| 韩国av一区二区三区四区| 欧美伦理影视网| 欧美在线观看网址综合| 成人黄色大片在线观看| 免费黄色网页在线观看| 欧美一区二三区| 国产不卡一区视频| 麻豆av免费在线观看| 国产精品免费久久久久影院| 久久综合色婷婷| 欧美free嫩15| 亚洲欧洲免费无码| 91嫩草在线播放| 精品偷拍各种wc美女嘘嘘| 伊人久久大香线蕉综合四虎小说 | 成人三级视频| 国产欧美日韩网站| 日韩欧美一级二级三级久久久| 久久看人人摘| 中文字幕免费中文| 欧美日本中文字幕| 国产精品自在在线| 金瓶狂野欧美性猛交xxxx| av免费精品一区二区三区| 成人欧美一区二区三区视频网页| 狠狠久久伊人中文字幕| 亚洲图片都市激情| 欧美一区二区视频在线观看2022| 国产精品88久久久久久| 777永久免费网站国产| 欧美成人一二三| 99免费精品视频| 色噜噜成人av在线| 国产欧美在线一区| 久久综合电影一区| 91视频免费观看| 伊人久久大香伊蕉在人线观看热v| 天天做天天爱天天高潮| 精品国产一区二区三区久久影院| 免费在线亚洲欧美| 超碰免费在线播放| 欧美视频1区| 日韩欧美中文字幕公布| 久久福利影视| 国语对白在线刺激| 亚洲一区二区三区四区中文| 日韩欧美综合在线| 九九视频精品免费| 欧美精品高清| 国产三级日本三级在线播放| 久久免费精品视频| 亚洲免费在线看| 成人动漫免费在线观看| 欧美精品a∨在线观看不卡| 国产一区二区三区四区五区加勒比 | 性高爱久久久久久久久| 美女黄色免费看| 欧美插天视频在线播放| 国产精品高潮久久久久无| 蜜臀av免费一区二区三区| xxxxx国产| 91网站免费看| 666欧美在线视频| 蜜臀91精品一区二区三区| 性欧美xxx69hd高清| 欧美 日韩 国产在线观看| 欧美高清自拍一区| 亚洲影视在线播放| 精品69视频一区二区三区Q| 青青青国内视频在线观看软件| 中文字幕一区二区三区乱码| 精品国产欧美一区二区三区成人| 国产亚洲欧美激情| 久久一本综合| 天堂av最新在线| 精品视频免费在线播放| 国产成人精品在线播放| 欧美午夜精品久久久久久孕妇| 久久99精品久久久| 一区二区在线视频观看| 蜜芽tv福利在线视频| 日韩视频在线免费播放| 欧美精品video| 欧美日韩国产小视频在线观看| 国产精品资源网| 在线视频一区二区三| 动漫3d精品一区二区三区乱码| 亚洲高清免费在线观看| 成人精品视频| jizzjizz亚洲| 精品少妇在线视频| 国产精品久久999| 日韩欧美亚洲国产精品字幕久久久 | 亚洲aⅴ天堂av在线电影软件| 中文字幕日韩精品有码视频| 亚洲一区二区三区美女| 日韩精品视频网站| 国产毛片精品| 黄a在线观看| 国产精品v日韩精品v在线观看| 黄色国产精品一区二区三区| 欧美成人黑人xx视频免费观看| 天天色综合成人网| 国产精品自拍在线| 蜜桃国内精品久久久久软件9| 岛国毛片av在线| 中文字幕高清在线观看| 亚洲不卡中文字幕无码| 91久久爱成人| 欧美大秀在线观看|