
熟悉Linux作业系统及LNMP常用服务
熟悉最基本的shell指令码,往后根据需求学更多的自动化开发语言
能快速学会需求服务的配置及优化,保证业务可以正常使用
安全意识!多种监控保证业务稳定,故障时能快速解决,各种备份保证资料完整
心态:稳如泰山,不急不躁,
linux运维工程师都需要哪些技能
linux运维也分很多种的。
资料库运维,开发运维,应用运维等。
基本的知识点:shell指令码,mysql增删读改,nginx,php,等应用的安装,Linux基本 *** 作:防火墙设定,环境设定等。
然后高阶一点就是:负载,高可用,mysql主从,读写分离
然后再高阶点就是:开发运维,资料库优化,大资料,架构师。
linux运维工程师需要掌握哪些技能1、熟悉基本的常用的配置命令
2、熟练的排错能力
3、掌握一门指令码程式语言,如shell、perl、python等
当然,勤学苦练是进阶的根本。
IDC机房运维工程师需要具备哪些技能及素质基础技能:windows/Linux raid组建、作业系统的安装、IIS/Apache/资料库/网站环境安装等
中等技能:网站响应时间、资料库连线/读写速度、作业系统等优化、
高阶技能:虚拟化、伺服器丛集方案如负载均衡、双机热备、资料同步、灾备,还有高大山的云端计算技术。
素质嘛:有原则、爱学习钻研技术就行了吧
一个合格的Linux运维工程师需要掌握哪些技能1、扎实的基础。你需要掌握如何检视档案型别、检视系统执行状态、编辑档案、输出档案、建立使用者、分配帐户许可权、使用RAID技术和LVM磁碟阵列等最基础的知识。
2、指令码语言和 *** 纵文字档案命令。shell指令码是最常见的、使用最多的指令码语言。sed 是一个精简的、非互动式的编辑器awk是一种程式语言,擅长从格式化报文或从一个大的文字档案中抽取资料grep命令是一种强大的文字搜寻工具,它能使用正则表示式搜寻文字,并把匹配的行并打印出来。
3、熟悉资料库的使用。当前市场应用最多的资料库型别是MySQL和MariaDB,无论使用哪种资料库,你都得需要掌握资料的建立、删除、新增、查询、备份和恢复等基础命令。
4、监控zabbix与nagios。对于初学者,Nagios简单直观更容易上手,但zabbix介面更美观、功能更多。zabbix与nagios都能实现大规模监控,都足以满足使用者需求。不过Zabbix是商业软体,Nagios是免费软体、外挂组合多。
5、rsync备份资料。rsync具有保持原来档案的许可权、时间、软硬连结等功能,可以映象储存整个目录树和档案系统。有了备份无论装置出现任何故障,你都可以从备份当中还原出来原始资料。
linux运维工程师需要知道哪些软体?太多了。不好回到。每个工程师都有自己习惯的工具。又没有任何一个工具可以代替所有工作。
初级的linux运维工程师都应该具备哪些条件一、
基础工具( *** 作流):
vi ,这个是必须的,因为伺服器的运维多用远端登入,没有GUI。一些对伺服器资源占用要求严格的公司会在安装时就要求最小化安装,然后再按需安装业务程式的依赖软体。这种情况预设桌面环境甚至Xserver是不安装的。不会用vi,会很痛苦。vi较常用的:查询,精确复制贴上,精准定位至要编辑的行,表示式作字串替换。
熟悉windows与linux之间相连线的工具。(Secure CRT, vnc, rdesk,winscp),提到上面几个工具是因为你有可能在你的同事或者客户的windows机器上连linux server
此条多是照搬rhct的内容: 懂fdisk/parted分割槽工具,管理swap,管理使用者,检视主机配置(主机型号,cpu型号,实体记忆体数量(比如看到有16条单根8G的记忆体),如果是代客户运维,这些东西与客户采购与系统扩容联络紧密,扯远了),lvm管理,档案系统管理,网路配置管理/多网络卡系结,各发行版上
二进位制/原始码包的安装,软体包依赖关系解决,检视系统当前负载(记忆体占用 10程序列表,cpu占用10程序列表,IO负载),熟悉常用系统日志的检视方法
伺服器配置安装部分:熟悉最常用
的ftp,,nfs,samba,dns,dhcp,mail的一般配置方法。
熟悉系统常用中介软体/资料库的安装(tomcat,jboss,was,oracle),可以不熟悉它们的配置
理解“环境变数”及其作用,能写shell script ,知道一点expect/sed/awk, 会使工作有效率
二、
进阶篇(分析流)
熟悉HA丛集以及负载均衡(lvs)丛集的配置
熟悉多路径(multipath)的配置和管理,熟悉san/nas的概念与区别
熟悉各发行版二进位制包的制作过程与二进位制包的安装原理或过程
分析系统性能瓶颈点(IO/memory/cpu,常用工具,命令中shift组合键的特殊用法,Sar/vmstat/iostat/ipcs)
理解Xwindow大致原理,用ssh或
定义DISPLAY 作x server的任意跳转
熟悉PXE+kickstat作无人值守的批量部署
熟悉以原始码方式安装硬体驱动
三、
深入进阶篇
分析部分程式不能执行或没有按预想结果执行的原因,strace对程式执行跟踪,检视系统呼叫的过程,
较深入的系统瓶颈点分析(swap使用频率,硬体驱动的中断请求在各core的分布,高手见笑,我只用过这两个)
熟悉kdump的大致原理,nmi的大致原理,分析系统crash时dump出的档案。(如果能看到dump档案的话,里面记录的还是比较清晰的,日志会记录到crash时每个core上执行的程序正在执行的系统呼叫,有遇到过:几次系统总是在某个系统呼叫发生时crash,后来百度了资料,才知道这个系统呼叫存在bug,最后单升级kernel就好了。 现在让我很蛋疼的是很多时候机器hang掉,不会产生kdump档案,尽管设定了核心的oops/nmi相关引数,如果有高手碰巧看到,希望能请教一下)
l B,意识篇
1)
安全意识:关于这个,有创宇的兄弟在,不敢班门弄斧
2)
磨刀意识:关于任何 *** 作配置,最好先搞明白 *** 作或配置的原理,然后再去 *** 作。应一句话叫做“磨刀不误砍柴功”,而且对于类似的 *** 作可以举一反三。
3)
计划意识:复杂的变更 *** 作比如多台主机以及牵涉到san储存,最好先作
*** 作计划,写计划文件,详细致每条命令,然后请高手帮忙稽核。
这样能最大程度使整个 *** 作过程安全。如果是重要的客户业务系统, *** 作最好有回退方案,而一旦变更失败,客户可以在短时间内将业务回退。
4)
记录分享意识:遇到自己认为较特殊的案例时,记得要写 案例过程及分析的文件。也方便自己以后翻看,或者和其他兄弟分享,作知识的传播以便于大家以后都能少走弯路。
5)
监控意识:运维来说,监控是非常重要的,监控是发现系统各种异常的眼睛,所以运维应该和监控紧密配合。
6)
业务意识:尽量了解维护的各主机上业务型别,以及各主机业务之间的关联性。因为任何维护工作都是为主机能提供业务服务的,当某业务中断,能最快的知道与此业务相关的主机群,从而缩小故障排查范围,最快定位故障。
优秀的运维工程师需要具备哪些能力和素质?一、专业的网路知识。
如今的时代是一个网路知识爆炸的时代,所以对于一个优秀的运维网路工程师来说首先必须拥有渊博的网路知识。这些知识囊括网路的各个领域,设计、创造、问题解决等方面的知识都要掌握的更全面、更透彻、更及时,适应时代发展的需求,全面提升自己的素质,适应竞争的需求。
二、娴熟的网路技能。
拥有知识这知识基础,关键的是将这些知识在网路工作中很好的应用,解决更多的问题,促进我们生活质量的提高,推动网路建设发展,对社会的进步起到积极地作用。因而我们要在实践中不断地积累丰富的实践经验,不断地提高我们的业务能力,更好的建设发展网路系统,服务大众和市场的繁荣发展需要。
三、勇于创新的职业精神。
网路时代的繁荣发展,每天、每一时刻网路都在不断地变化提高,所以要更好的推动网路建设,提高服务大众的技能就必须拥有勇于创新的职业精神,要有探索创新的精神,要有克服困难的勇气和信心,只有这样才能将自己的打造一个优秀的时代运维工程师。
只有这些基本的素质得到更好的升华,才能离一名优秀的运维工程师的距离越来越近
运维工程师需要哪些知识和技能?最好的方法就是去看一些招聘网站的招聘简介了 已经很全了
岗位职责:
1、负责公司网路总体系统及子系统的维护;
2、负责网路整体架构规划、实施、优化、安全;
3、负责整体网路的 *** 作规范文件编写,整合系统资源;
4、负责整体网路的风险评估与备份系统实现;
5、研究主流的网际网路应用技术,并负责将此是现在公司业务系统测试及应用;
6、公司整体网路架构规划,实施及维护;
7、主动发现问题,提出合理化建设,积极提出优化手段和建议。
任职资格:
1、大专学历,3年以上工作经验;
2、能够承受一定的工作压力,具备良好的沟通协调能力及突发事件单独处理能力;
3、熟悉unix/linux作业系统;
4、熟悉Linux下不同资料库的安装和除错,熟练使用shell脚步语言;
5、精通L.A..M.P架构,对L.A..M.P架构的部署、搭建、优化、排错等方面有丰富的经验。对高负载、大访问量 情况下的L.A..M.P架构有运维经验者优先。
6、熟悉Linux下不同的储存解决方案,同时管理超过50太以上的linux伺服器组,有整体管理经验者优先;
7、利用syslong收集各个关键出口装置情况,充分利用snmp协议,规划并架设一整套网路监控系统;
8、具备独立的工作能力,良好的沟通能力和团队精神,高度的责任心,工作积极主动。
Linux运维工程师会面试哪些想了想,基本需要以下知识点吧:
Linux基础
运维的命令
基础服务:LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP FTP DNS SAMBA EMAIL NTP DHCP……
运维平台工具:Nagios Puppet Zabbix Cacti SaltStack……
指令码能力:Shell, Python,Perl...
底层知识:Linux C,核心
网路路由交换装置,《TCP/IP协议详解》,tcpdump……
防火墙配置,如 iptables, ipset……
各型别伺服器,如塔式、机架式、刀片式详细的结构,优缺点……
有些时候,我们需要在终端启动一个程序,并使之运行——但是如果关闭终端,那么这个程序也就随着关闭了。那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢?有以下方法
1.让linux忽略终端的hung up 信号,不关闭进程;
2.让此进程变为终端的非子进程。
方法一:
在终端输入命令:
# ./pso >pso.file 2>&1 &
解释:将pso直接放在后台运行,并把终端输出存放在当前目录下的pso.file文件中。
当客户端关机后重新登陆服务器后,直接查看pso.file文件就可看执行结果(命
令:#cat pso.file )。
或者 在终端输入命令:
# nohup ./pso >pso.file 2>&1 &
解释:nohup就是不挂起的意思,将pso直接放在后台运行,并把终端输出存放在当前
目录下的pso.file文件中。当客户端关机后重新登陆服务器后,直接查看pso.file
文件就可看执行结果(命令:#cat pso.file )。
方法二:
实现方案就是nohup命令。
例如要启动jboss,可以nohup ./run.sh &。这样就可以了,结尾的“&”符号表示后台启动jboss,从而不影响继续运行其他命令。
但这样有一个问题,nohup命令虽然可以让linux“放过”这个进程,但是nohup会同时把进程的控制台输出重定向到nohup.txt下(默认是这个文件),当然可以重定向为其他的文件,但是输出总会有的。
如果jboss运行很长时间,而且如果有很多控制台输出的话,nohup.txt文件就会变的很大很大。
通常项目中的日志都会输出到特定的日志文件或者输出到 数据库 中,也就是说控制台的输出对于程序的意义不大,那么可不可以抛弃掉这些输出呢?答案是肯定的。
这里讲解一下linux的重定向(注意,是linux的重定向,不是针对nohup)。
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。
在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。
另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。
结合nohup,我们可以这样 nohup ./run.sh >/dev/null &
这是最简单的一种方式,既保证了程序能够一直后台执行,又能保证不会产生太大的nohup.txt文件。
方法三:
利用的linux的一个机制,让程序在subshell中执行,方法很简单,将命令用括号() 括起来即可。
ps -ef | grep test
可以看到run.sh的父进程为1,不是当前终端了,这样就能忽略hung up信号。
当然linux还可以动态的让程序后台运行或不被hung up 信号关闭,例如disown命令,setid命令等。
方法四:
如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。
对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜单中找到终端。有些环境会在停靠栏或者面板上面包含终端图标。
通常情况下,你可以在终端里面直接输入应用程序名来启动一个应用程序。比如说,你可以通过输入“firefox”来启动Firefox。
在终端启动应用程序的好处是,你可以包含一些额外的参数。
例如,你可以通过下列命令来打开一个Firefox浏览窗口,然后利用默认的搜索引擎搜索相关信息:
firefox -search "linux.cn"
你可能会注意到,如果你启动Firefox,程序打开以后,回到了终端窗口控制,这就意味着你可以继续在终端进行工作。
通常情况下,如果你在终端启动了应用程序,控制会切换到新启动的应用程序,只有程序被关闭以后才会重新切换到终端控制。这是因为你在前台启动了这个程序。
如果要在Linux终端打开应用程序并且返回终端控制,那么你需要将应用程序启动为后台进程。
和下面所列的命令一样,我们可以通过增加一个(&)符号,将应用程序在后台启动。
libreoffice &
译者注:如果需要加参数的话,记得把&符号放在最后。
译者注:一般情况下,关闭终端时,在这个终端启动的后台程序也会被终止,要使终端关闭以后,后台程序依然保持执行可以使用下列命令
nohup command [arg...] &
如果应用程序目录没有安装在PATH变量包含的目录里面的话,我们就没有办法直接通过应用程序名来启动程序,必须输入应用程序的整个路径来启动它。
/path/to/yourprogram &
如果你不确定程序输入哪个Linux目录结构的话,可以使用find或者location命令来定位它。
可以输入下列符号来找到一个文件:
find /path/to/start/from -name programname
例如,你可以输入下列命令来找到Firefox:
find / -name firefox
命令运行的结果会嗖的一下输出一大堆,别担心,你也可以通过less或者more来进行分页查看。
find / -name firefox | more find / -name firefox | less
当find命令查找到没有权限访问的文件夹时,会报出一条拒绝访问错误,
你可以通过sudo命令来提示权限。当然,如果你没有安装sudo的话,就只能切换到一个拥有权限的用户了。
sudo find / -name firefox | more
如果你知道你要查找的文件在你的当前目录结构中,那么你可以使用点来代替斜杠:
sudo find . -name firefox | more
你可能需要sudo来提升权限,也可能根本就不需要,如果这个文件在你的主目录里面,那么就不需要使用sudo。
有些应用程序则必须要提升权限才能运行,否则你就会得到一大堆拒绝访问错误,除非你使用一个具有权限的用户或者使用sudo提升权限。
这里有个小窍门。如果你运行了一个程序,但是它需要提升权限来 *** 作,输入下面命令试试:
sudo !!
方法五:
在Unix/Linux下如果想让程序独立终端运行,一般都是使用 &在命令结尾来让程序自动运行。(命令后可以不追加空格)
打开gnome-terminal,执行如下命令:
delectate@delectate:~$ totem &[1] 8510delectate@delectate:~$ 有几点需要注意:
已经启动的程序依然attach于当前pts,只有当前终端模拟器关闭(使用exit命令退出),进程自动被tty继承。delectate@delectate:~$ ps -e | grep totem//程序已被以totem &形式启动,当前附在pts0上8819 pts/000:00:00 totemdelectate@delectate:~$ ps -e | grep totem //pts0的模拟终端被exit命令关闭,totem自动附在tty8819 ?00:00:00 totemdelectate@delectate:~$
具有debug输出的进程,需要按enter键进行中断当前debug输出。但是如果程序持续进行printf,你将无法输入任何命令。delectate@delectate:~$ vlc &[1] 8850delectate@delectate:~$ VLC media player 1.0.6 Goldeneye[0x8b998b0] main libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface. //enter presseddelectate@delectate:~$ //show a clean terminal now** (:8850): CRITICAL **: giop_thread_request_push: assertion `tdata != NULL’ failed //仍然在输出数据…… //关闭程序[1]+ Done vlcdelectate@delectate:~$
你无法记录程序的debug输出结果。
只有当虚拟终端是 $ 或者 # 时候,才可以关闭此终端,否则可能导致已经启动的进程被关闭(按enter——如果程序持续输出信息而没有出现 $ 或 #)
使用nohup命令:
nohup描述:Run COMMAND, ignoring hangup signals.(忽略任何中断/挂起信号,使命令继续执行)
但是当你尝试使用命令:
1nohup command
时候却会遇到不大不小的麻烦……
delectate@delectate:~$ nohup vlcnohup: ignoring input and appending output to `nohup.out’
是的,虽然它自动把debug信息记录到nohup.out文件,但是你却无法使用这个终端进行任何 *** 作。
所以你需要和第一个方法混用,即
nohupcommand {option}&
混用后,它会自动把你执行的命令输出结果记录到权限为-rw——-,名为nohup.out的文件中。
但是你仍然需要
delectate@delectate:~$ nohup vlc &[1] 9045delectate@delectate:~$ nohup: ignoring input and appending output to `nohup.out’ //在这里按一下回车或以ctrl+c以 //show a clean terminal delectate@delectate:~$
与使用 “&” 性质相同,当前启动程序的终端如果没有被关闭,已经启动的程序附在pst上;如果终端被关闭,则自动附在tty。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out。默认状态下,nohup默认输出到nohup.out文件,你也可以利用重定向来指定输出文件:
nohupcommand {option} >myout.file 2>&1 &
只有当虚拟终端是 $ 或者 # 时候,才可以关闭此终端,否则可能导致已经启动的进程被关闭(按enter——如果程序持续输出信息而没有出现 $ 或 #)
其他相关命令:
jobs:查看当前有多少在后台运行的命令
fg:将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
bg:将一个在后台暂停的命令,变成继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
杀死进程
杀死已经启动的程序和普通方式一样:
pkill -9 name
killall name
kill pid
…
命令应用:
linux服务器挂机下载;启动相关服务;linux服务器启动进程(尤其是ssh登录)
我就曾经用 1nohup aria2c -i downloadlist -m 0 -j 1 &
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)