pythonrsync
A. 運維工程師需要掌握什麼技能
運維工程師需要掌握的技能:
1、首先是主機、網路及操作系統基本知識。在出現問題時,懂得在各個網路位置抓包,來確認故障設備或線路,會使用linux的tcpmp抓包或者ethreal、sniffer、Wireshark等抓包軟體,會在網路設備上配置鏡像,將關心的流量抓出來進行分析。
2、懂開發,能實現自動化運維。比如使用Shell、python、Perl等腳本語言做一些自動化運行腳本、診斷故障的腳本,使用這些腳本可以提升工作效率,將重復性的簡單工作交給腳本程序處理,也可以通過這些腳本判斷故障發生的位置和原因,高效的運維將不再需要人工去逐個字元地去輸入各種命令。
3、未來雲計算與大數據勢必成為整個互聯網行業的支撐。所有雲計算運維工程師以及大數據工程師的作用就越來與明顯,同時雲計算以及大數據相關高端人才的需求量也會越來越大。
B. python怎樣收集數據
這么具體的問題,找通用demo很難啊,個人覺得問題的難點不在Python。
1. 獲取什麼伺服器性能數據和如何獲取,可以請教公司內部運維。
2. 獲取什麼資料庫性能數據和如何獲取,可以請教公司內部DBA。
3. 以上兩點搞定了,才能確定臨時數據存儲結構和最終資料庫表結構。
以上三點是關鍵,Python的事情就簡單多了,提供一種思路:一分鍾一次,實時性不高,每台伺服器用cron部署一個a.py,用於獲取性能數據,在某一台伺服器有一個b.py,負責獲取所有伺服器a.py產生的數據,然後寫入資料庫;a.py如何上報到b.py取決於你擅長什麼,如果熟悉網路編程,用a.py做客戶端上報到服務端b.py,如果熟悉shell的文件同步(如rsync),a.py只寫本地文件,b.py調用c.sh(封裝rsync)拉取遠程文件。
C. linux 批量刪除文件
首先建立50萬個文件
復制代碼代碼如下:
test for i in $(seq 1 500000)
for> do
for> echo test >>$i.txt
for> done
1 rm
復制代碼代碼如下:
test time rm -f *
zsh: sure you want to delete all the files in /home/hungerr/test [yn]? y
zsh: argument list too long: rm
rm -f * 3.63s user 0.29s system 98% cpu 3.985 total
由於文件數量過多,rm不起作用。
2 find
復制代碼代碼如下:
test time find ./ -type f -exec rm {} \;
find ./ -type f -exec rm {} \; 49.86s user 1032.13s system 41% cpu 43:19.17 total
大概43分鍾。
3 find with delete
復制代碼代碼如下:
test time find ./ -type f -delete
find ./ -type f -delete 0.43s user 11.21s system 2% cpu 9:13.38 total
用時9分鍾。
4 rsync
首先建立空文件夾blanktest
復制代碼代碼如下:
~ time rsync -a --delete blanktest/ test/
rsync -a --delete blanktest/ test/ 0.59s user 7.86s system 51% cpu 16.418 total
16s,很好很強大。
5 Python
復制代碼代碼如下:
import os
import time
stime=time.time()
for pathname,dirnames,filenames in os.walk('/home/username/test'):
for filename in filenames:
file=os.path.join(pathname,filename)
os.remove(file)
ftime=time.time()
print ftime-stime
復制代碼代碼如下:
~ python test.py
494.272291183
大概用時8分鍾。
6 Perl
復制代碼代碼如下:
test time perl -e 'for(<*>){((stat)[9]<(unlink))}'
perl -e 'for(<*>){((stat)[9]<(unlink))}' 1.28s user 7.23s system 50% cpu 16.784 total
D. python 怎麼實現兩台伺服器上批量復制文件
1、把excel里文件名那一列復制,粘進一個空白的文本文件,命名為filelist.txt,上傳到伺服器。
2、在伺服器上使用腳本導出,python腳本 fileCp.py 。
代碼示例:
#! python
#coding:utf-8
##!/usr/bin/python
# Filename : fileCp.py
import sys
import os
import shutil
fileList='filelist.txt'
targetDir='files'
filedir = open(fileList)
line = filedir.readline()
log = open('running.log','w')
while line:
line = line.strip('\n');
basename = os.path.basename(line)
exists = os.path.exists(line)
if exists :
print ' '+line+' to '+os.getcwd()+'/'+targetDir+'/'+basename
log.write(' '+line+' to '+os.getcwd()+'/'+targetDir+'/'+basename+'\r\n')
shutil.(line,targetDir+'/'+basename)
else:
print line+' not exists'
log.write(line+' not exists'+'\r\n')
line = filedir.readline()
log.close()
E. 吉林網路運維學習都需要會什麼沒基礎可以嗎
網路基礎+操作系統(核心學Linux)+資料庫(待遇高便於提升深造);系統運維的工作越來越有經驗,軟體工程師就是吃青春飯。做系統運維,以後可以轉向管理,職業很有前景。建議你先學一個基礎,然後工作1年再深化培訓。 可以學RHCE+CCNP+OCP,WINDOWS的我想你每天自學也沒問題可以不學,系統運維就是比較細 雜 廣 系統運維要求什麼都懂一點,主要是基於Linux、UNIX有前途,shell 網路 資料庫都需要懂一些。越老越吃香 知識不需要太多創造性的東西 了解基本規律 然後去部署排錯 以後轉管理。
深入了解Linux/Unix操作系統
深入了解分布式系統、計算機網路、硬體體系結構
精通Linux/Unix環境下腳本語言(Shell、Perl、PHP、JSP、Python)的編程
熟練使用grep、awk、sed、vi等系統工具
可以學 RHCE+CCNP+OCP
RHCE是紅帽Linux認證 目前最普及的企業版LINUX發行版的認證 學了通吃LINUX 再學一下AIX 就UNIX搞定;可以朝RHCA發展
CCNP 基本是思科網路工程師比較成熟基礎的技能培訓認證 ,將來有錢了可以朝CCIE發展
OCP Oracle資料庫DBA認證專家 也是成熟的基礎認證 ,可以發展為OCM
吉林北大青鳥計算機學校還不錯,好多大企業都認他們的學員。