技術 乙個由於時間問題引發的血案

2021-10-22 13:12:40 字數 1415 閱讀 2065

公司目前正在實施多機房部署,避免因為乙個機房出先問題而導致業務中斷的情況,目前另外乙個機房已經部署好了,只是目前只用了乙個機房,深圳機房還處於測試階段,架構如下圖

所示:

目前在用的是佛山機房,**架構為lnmp(linux/nginx/mysql/php),其中論壇使用的是discuzx2的版本。

下午3 點的時候運營那邊突然打**過來詢問,為什麼論壇的所有板塊的帖子都置0 了?感到問題比較嚴重,於是趕緊登入伺服器檢視,select `name`,todayposts frompre_forum_forum;檢視這個板塊表中,發現todayposts 被重置了。因為資料庫的管理員只有我乙個人知道,因此不會有人去直接重置那個表的資訊。

查詢計畫任務看看是否有計畫任務會去更新pre_forum_forum 表的todayposts 字段,也沒發現。我懷疑是什麼條件觸發了那個論壇的一些統計指令碼,因為帖子到了0 點才會清零。突然意識到會不會是時間到0 點了?於是登入佛山伺服器檢視,時間正常。再登入深圳機房伺服器,oh my gold!時間是00 點過2 分鐘。諮詢開發,他們說是discuz 中含有一些統計的和清零的指令碼,到了0 點就會清空帖子數等一些操作。

這些操作會寫入資料庫,由於佛山和深圳機房做了mysql 主主同步,因此也會同步到佛山機房的資料庫中,導致佛山的論壇出現帖子數清零的現象。那麼為什麼深圳機房的時間會和佛山機房的差那麼遠呢?原來是忘記將時間同步的命令新增到計畫任務中。

趕緊將時間同步的命令新增到計畫任務中,59 5,9,14,19,23* * * ntpdate asia.pool.ntp.org。另外為了避免類似問題,將這個命令加入到系統初始化指令碼中,以後一安裝完系統就跑系統初始化指令碼。

教訓

這個是乙個很低階的錯誤,對於這種伺服器都需要用

的基礎配置,必須新增到系統初始化指令碼中,避免再次出現類似

的問題。同時也給自己乙個教訓就是配置好伺服器後需要做詳細

的檢查,要細心,杜絕此類低階錯誤的發生。

ead from remote host x.x.x.x: connection reset by peer 

解決辦法

有的時候要採用scp 備份異地的檔案,這個時候有的時候會

出現如下報錯ead from remote host x.x.x.x: connection reset by peer

lost connection

解決辦法,在客戶端上的/etc/ssh/sshd_config 新增如下內容:

clientaliveinterval 300

clientalivecountmax 60

重啟ssh,看看是否還會出現類似問題?

end

乙個由於時間問題引發的血案

乙個由於時間問題引發的血案 mysql 的主主同步,由於部署另外乙個機房的時候忘記新增時間 ntp伺服器的同步,導致兩個機房伺服器時間不一致,而公司有個論壇是採用 discuzx2 的版本,論壇的 php的統計程式會在 0點的時候做清空帖子數等一些操作,這些資訊會改寫資料庫中相應的記錄,應此通過 m...

乙個memset引發的血案

前幾天做了一道bst題,提交了幾次都是wa,今天抽空拿了出來仔細瞧瞧總算被我發現禍頭根源.總結原因還在於自己對memset不太了解,以前用對估計也是瞎貓撞見死耗子 memset的介紹 void memset void buffer,int ch,size t count buffer 指向某段記憶體...

乙個分號引發的「血案」

再多的表情也無法詮釋我現在的心情!a b for matrices 這是很水的一道題,然而卻整整折騰了我2個多小時。從晚上6點多開始,花了沒幾分鐘就把 敲好了,可是資料一測,竟然不對,然後就開始找問題,找了很久,我竟然都還沒看出問題在哪,越找心裡越不爽,這麼做明明對的呀,一執行怎麼就錯了呢?一直到了...