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
吉林北大青鸟计算机学校还不错,好多大企业都认他们的学员。