在生產環境中,有客戶架構為阿里雲線上環境及線下idc需要內網互通,互聯採用阿里雲使用第三方深信服雲產品與線下idc側cisco防火牆ipsec打通實現,主要用於定時阿里雲檔案及資料備份至idc,在生產應用中無故隧道會不定時中斷,聯絡深信服及思科售後排查均沒有結果,但是進行手動的重啟阿里雲上深信服裝置隧道立即恢復,在兩邊網路工程師排查無果後,想到去編寫監控指令碼,如果隧道終端去利用python重啟深信服裝置,從而恢復隧道,資料傳輸延遲timeout及使用斷點續傳,當網路層面異常無法解決時,換另一種思路來解決問題。利用python編寫去操作深信服,web頁面模擬登入,主要利用到了selenium模組,logging來記錄日誌。
3.1.1 檢查指令碼功能
#!/bin/bash
#檢測內網位址
ip=10.10.10.2
dir="/sangfor/shscripts/pdc/"
if [ ! -d $ ];then
mkdir -p $
fiecho 1 > $pdcping.lock
while true
do #日誌分割歸檔
time=`date +%f`
time="$ 23:59"
if [ "$" == "$" ];then
mkdir $$ && mv $pdcping.log $$-pingpdc.log
mv $$-pingpdc.log $$
fifind $ -mtime +7 -type d -exec rm -rf {} \;
find $ -mtime +7 -name "*-pingpdc.log" -exec rm -rf {} \;
data=`date +%f' '%h:%m`
data1=`date +%f' '%h:%m:%s`
echo "------------$---------------">>$pingpdc.log
ping -c 10 $ >>$pingpdc.log
if [ $? -eq 1 ];then
stat=`cat $pdcping.lock`
if [ $ -eq 1 ];then
/usr/local/python34/bin/python3 /sangfor/pysangfor/sangfor_public.py
echo 0 > $pdcping.lock
else
continue
fielse
stat=`cat $pdcping.lock`
if [ $ -eq 0 ];then
echo 1 > $pdcping.lock
else
continue
fifi
done
3.1.2 檢查指令碼功能
為防止隧道檢測指令碼異常,另外編寫監控監測指令碼的指令碼配合定時任務來定時監控,如果異常,重新拉起。
#!/bin/bash
num=$(ps -ef |grep pdc.sh|wc -l)
cmd="/usr/bin/nohup /bin/bash /sangfor/shscripts/pdc/pdc.sh &"
if [ $ -lt 2 ];then
$fi
配合定時任務
* * * * * /bin/bash /sangfor/shscripts/pdc/checkpdc.sh
3.2.1 基礎環境部署yum -y install zlib-devel zlib readline-devel openssl-devel wget gcc-c++ xvfb lrzsz firefox
cd /tmp
wget -c
tar -zxvf python-3.4.5.tgz
cd python-3.4.5
./configure --prefix=/usr/local/python34
make && make install
echo "export path=$path:/usr/local/python34/bin" >/etc/profile.d/python34.sh
source /etc/profile.d/python34.sh
cd /tmp
wget
python3 get-pip.py
pip3 install selenium
pip3 install pyvirtualdisplay
cd /tmp3.2.2 python**cat > /sangfor/pysangfor/sangfor_public.py《其簡單的實現了故障自癒,利用其思路客戶配合很多業務,例如簡單的應用重啟等。wget -c
tar zxvf geckodriver-v0.16.1-linux64.tar.gz
cp geckodriver /usr/bin/
深信服python面試咋樣 面試深信服的感受
這篇文章是乙個學員寫的。一面 50分鐘左右 1.extern 用法 2.虛函式與純虛函式的區別 3.兩個浮點數如何做比較 4.結構體能直接使用memcmp比較嗎 5.printf如何實現可變參的 6.如果判斷單鏈表是否有環 如何判斷兩個單鏈表是否相交,如果找到相交節點。7.說說單鏈表和雙向鍊錶 8....
深信服面試
深信服面試python開發工程師,不得不說,這是最難的一次。小華為 果然名不虛傳。還想體驗一下加班到底有多嚴重,可是不給機會呀,可能是無緣吧!1.直接通過 進行連線 優缺點 使用這種方式進行字串連線的操作效率低下,因為python中使用 拼接兩個字串時會生成乙個新的字串,生成新的字串就需要重新申請記...
Python後台開發 深信服面試
前幾天去面試,python後台開發工程師應屆生,是和我同學一起去的,在一家酒店裡面.一面的時候 面試官看起來很和藹,但是我還是有點緊張,我的簡歷上寫著我精通正規表示式,然後面試官看到了就說,那你寫乙個對ip位址的正規表示式吧,然後我就蒙了,但是寫了有3分多鐘都沒有寫出來,然後面試官就說,本來這個就很...