美团Linux运维工程师面试真题
1、LINUX系统软件安装和卸载的常见方法
答:
A.rpm包卸载:rpm -e XXX.rpm (如果想忽略依赖,可加上–nodeps)
B.yum remove xxx.rpm 这种方法非常不建议使用,卸载过程会将待卸载的软件包所依赖的软件包一并卸载掉,很容易造成系统缺少某些包而崩溃等问题
C.源码包卸载:cd命令进入编译后的软件目录,即安装时的目录,执行make uninstall命令即可;或者直接删除安装目录
2、Windows和LINUX常用的远程连接工具有那些
答:
命令远程连接工具:Xshell、SecureCRT、Putty、SSH Secure Shell Client等
图形远程连接工具:xmanager(需安装配置服务并打开177端口)、VNC-Viewer(linux需安装vncserver)、windows自带的远程桌面(linux需安装xrdp和vnc)
3、如何修改LINUX的IP地址、网关和主机名
答:
A、修改IP地址、网关:编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改里面IPADDR和GATEWAY内容,没有这两行,则添加即可,添加时确保BOOTPROTO=static,静态地址,如IPADDR=192.168.1.100 GATEWAY=192.168.1.1
B、修改主机名称:编辑/etc/sysconfig/network,修改里面的HOSTNAME内容,如设置主机名称为mysql,则:HOSTNAME=mysql即可;
4、编写脚本实现以下功能;
每天早上5点开始做备份
要备份的是/var/mylog里所有文件和目录可以压缩进行备份
备份可以保存到别一台器上192、168、1、2 FTP帐号 aaa 密码 bbb
要示每天的备份文件要带有当天的日期标记
答:
[root@haojiu ~]#cat /root/mylogbak.sh
#!/bin/bash
#scripts for dirbakup and upload to ftp server.
#author by haojiu
#create by
bakdir=mylog
date=`date +%F`
cd /var
tar zcf ${bakdir}_${date}.tar.gz ${bakdir}
sleep 1
ftp -n <<- EOF
open 192.168.142.129 #远程ftp服务器IP
user aaa bbb
put mylog_*.tar.gz
bye
EOF
rm -rf mylog_*.tar.gz #这步之前可以做一个判断,判断文件上传成功再执行rm,留给各位发挥吧。
添加crontab:
crontab -l
00 05 * * * /bin/bash /root/mylogbak.sh #每天早上5点开始执行备份脚本
5、IPTABLES相关的命令
(这里请网友补充,具体问题还要具体分析)
6、mysql相关的题:新安装MYSQL后怎样提升MYSQL的安全级别
答:
A.修改mysql默认端口
B.linux下可以通过iptables来限制访问mysql端口的IP地址
C.对所有用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库中user表中指定用户的访问可访问IP地址)
D.root特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录)
E.开启二进制查询日志和慢查询日志
F.mysql安装目录及数据存储目录权限控制:给mysql安装目录读取权限,给mysql日志和数据所在目录读取和写入权限
G.删除无用mysql账号和删除无用的数据库(安装好的mysql默认会有个test库,可将其删除)
MYSQL的主从原理,怎么配置文件
答: 整体上来说,复制有3个步骤:
A.master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
B.slave将master的binary log events拷贝到它的中继日志(relay log);
C.slave重做中继日志中的事件,将改变反映它自己的数据。
Mysql复制的基本原理过程如下:
(1)Slave上面的IO线程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;
(2)Master接收到来自Slave的IO线程的请求后,通过负责复制的IO线程根据请求信息读取指定日志指定位置之后的日志信息,返回给Slave端的IO线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在Master端binary log文件的名称以及在Binary log中的位置;
(3)Slave的IO线程收到信息后,将接收到的日志内容依次写入到Slave端的RelayLog文件(mysql-relay-lin.xxxxx)的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”
(4)Slave的SQL线程检测到Relay Log中新增加了内容后,会马上解析该Log文件中的内容成为在Master端真实执行时候的那些可执行的查询或操作语句,并在自身执行那些查询或操作语句,这样,实际上就是在master端和Slave端执行了同样的查询或操作语句,所以两端的数据是完全一样的。
补充:mysql主从复制的优点————
<1> 如果主服务器出现问题, 可以快速切换到从服务器提供的服务;
<2> 可以在从服务器上执行查询操作, 降低主服务器的访问压力;
<3> 可以在从服务器上执行备份, 以避免备份期间影响主服务器的服务。
为MYSQL添加一个用户
mysql> grant select,insert,update,delete on book.* to test2@localhost identified by “abc”; #增加test2用户,密码为abc。并只能在localhost这台主机上登录,并且只能访问book这个库中的表,具有查询,插入,更新,删除权限;
语法:mysql> GRANT <权限> ON <库>.<表> TO ‘用户’@’主机名’ identified by “密码”;
7、WINDOWNS相关的问题
你是否对WINDOWNS系统打过补丁,如果有100台你会怎么做
答: (题主是一个不专业的MCSE,记得在win2003中,有发布指派这个概念的,请各位网友补充)在域环境中,应该是将一台服务器作为域控补丁的update服务器,利用“发布与指派”的功能,将补丁批量更新到内网其他服务器;
WINDOWNS下怎么为MYSQL做定时完全备份
答: 批处理+计划任务+ftp上传至远程服务器
在没有硬件防火墙的情况下,怎样提高WINDOS系统安全
答: 用ISA防火墙?
8、显示/test目录下的所有目录
答:豪鹫这里提供4种方法:
ls -d */
find . -type d -maxdepth 1 (如果不加-maxdepth 参数,将会列出无穷多的子目录。)
ls -F | grep ‘/$’
ls -l | grep ‘^d’|awk ‘{print $9}’
9、将文件/etc/a 下中除了 b文件外的所有文件压缩打包放到/home/a下,名字为a.gz
答: tar –exclude /etc/a/b -zPcvf /home/a/a.gz /etc/a (不加P选项会提示:『tar: Removing leading `/’ from member names』)
验证:
[root@haojiu a]# tar tPvf /home/a/a.gz (忽略掉b文件)
drwxr-xr-x root/root 0 2015-08-21 10:15 /etc/a/
-rw-r–r– root/root 0 2015-08-21 10:15 /etc/a/d
-rw-r–r– root/root 0 2015-08-21 10:15 /etc/a/f
-rw-r–r– root/root 0 2015-08-21 10:15 /etc/a/c
-rw-r–r– root/root 0 2015-08-21 10:15 /etc/a/e
10、给一个脚本赋予执行权限的命令及选项
答:
chmod +x a.sh
11、umask 022代表什么意思
答: 新建文件夹或文件的权限是由所谓基本码减去称之为umask的屏蔽位得到的。
按照规定:文件夹的基本码是rwxrwxrwx(777),文件的基本码是rw-rw-rw-(666)
因此新建文件夹是777-022=755(rwxr-xr-x),新建文件是666-022=644(rw-r–r–)。
综上,umask 022表示默认创建新文件权限为755 也就是 rxwr-xr-x(所有者全部权限,属组读写,其它人读写)
12、如何查看某进程所打开的所有文件
答:取出该进程的进程号,然后用lsof -p pid查看打开的所有文件。(这里以crond进程为例)
[root@haojiu a]# ps -ef |grep crond|grep -v grep |awk ‘{print $2}’ #取出进程号
2550
[root@zintao01 a]# lsof -p 2550 #查看该进程打开的所有文件
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
crond 2550 root cwd DIR 8,2 4096 2 /
crond 2550 root rtd DIR 8,2 4096 2 /
crond 2550 root txt REG 8,2 64096 820728 /usr/sbin/crond
crond 2550 root mem REG 8,2 65928 524319 /lib64/libnss_files-2.12.so
crond 2550 root mem REG 8,2 99158576 788202 /usr/lib/locale/locale-archive
crond 2550 root mem REG 8,2 472064 554920 /lib64/libfreebl3.so
crond 2550 root mem REG 8,2 43392 554921 /lib64/libcrypt-2.12.so
crond 2550 root mem REG 8,2 1926800 554903 /lib64/libc-2.12.so
crond 2550 root mem REG 8,2 115536 554937 /lib64/libaudit.so.1.0.0
crond 2550 root mem REG 8,2 22536 554909 /lib64/libdl-2.12.so
crond 2550 root mem REG 8,2 58480 554938 /lib64/libpam.so.0.82.2
crond 2550 root mem REG 8,2 124624 554913 /lib64/libselinux.so.1
crond 2550 root mem REG 8,2 156928 554899 /lib64/ld-2.12.so
crond 2550 root 0u CHR 1,3 0t0 4160 /dev/null
crond 2550 root 1u CHR 1,3 0t0 4160 /dev/null
crond 2550 root 2u CHR 1,3 0t0 4160 /dev/null
crond 2550 root 3u REG 8,2 5 1084973 /var/run/crond.pid
crond 2550 root 4u unix 0xffff88003b3949c0 0t0 13870 socket
crond 2550 root 5r DIR 0,10 0 1 inotify
13、获取eth0网卡上80端口的数据包信息
答:
[root@haojiu ~]# tcpdump -i eth0 port 80
14、删除 /a/b下的所有文件及目录
答:
[root@haojiu ~]# rm -rf /a/b/*
15、常用的网络管理工具(5种以上)
答: Windows下有:ipcofnig(/all,/renew,/release),ping,tracert,nslookup……
Linux下有:ifconfig,ping,tracerroute,dig,nslookup……
16、ftp、https、smtp、pops、ssh的端口号
答: ftp(20和21)、https(443)、smtp(25)、pops(110)、ssh(22)
17、如何在windows server 2003/2008上开启支持内存3-4G
答: 这里提供网上的做法: 在我的电脑上单击鼠标右键,选择属性,点击“高级”标签,点击【启动和故障恢复】下的“设置”按钮,点击“编辑”按钮,将Boot.ini文件的最后一行后面添加一个开关 “/PAE”(不带引号),保存后重新启动机器即可。
18、请用iptables控制来自192.168.1.2主机的80端口请求
答: iptables -A INPUT -p tcp -s 192.168.1.2 –dport 80 -j ACCEPT (允许来自192.168.1.2这台主机访问80端口)
19、请用shell脚本创建一个组class、一组用户,用户名为stdX X从01-30,并归属class组
答: 脚本如下
[root@zintao01 ~]# cat adduser.sh
#!/bin/bash
#script for adduser.
#create by haojiu
#2015-x-x
groupadd class
user=std
for i in {01..30}
do
useradd -G class ${user}$i
done
20、在mysql客户端查询工具中,如何获取当前的所有连接进程信息
答:
mysql> show full processlist;
21、如何删除已满的数据库日志信息
答: 在my.cnf中的[mysqld]段下面加入:expire-logs-days=7(设置自动清除7天钱的logs),重启mysql;
或者登录进mysql,执行:purge binary logs to ‘mysql-bin.000003’; #删除bin-log(删除mysql-bin.000003之前的而没有包含mysql-bin.000003)
如果是mysql主从环境的,删除日志,语句格式如下:
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’
转载链接:http://www.yunweipai.com/archives/25375.html
美团Linux运维工程师面试真题的更多相关文章
- 大厂0距离:网易 Linux 运维工程师面试真题,内含答案
作为 Linux 运维工程师,进入大公司是开启职业新起点的关键,今天马哥 linux 运维及云计算智囊团的小伙伴特别分享了其在网易面试 Linux 运维及云计算工程师的题目和经历,希望对广大 Linu ...
- Linux运维工程师面试-部分题库
一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? ...
- Linux运维工程师面试
一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? ...
- Linux 运维工程师面试问答录(推荐阅读)
一个执着于技术的公众号 本文整理了一些比较常见的 Linux 相关的面试题目,该问答录主要分为基础知识篇和服务器篇.内容主要涉及 Linux 基本原理.常用命令操作.服务器应用等部分的内容. Linu ...
- linux运维工程师面试题收集
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...
- 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路
做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...
- linux运维工程师成长过程
原文地址:https://blog.csdn.net/kwame211/article/details/78059331 初级篇 linux运维人员常用工具拓扑详见: 1rsync工具 很多地方经常会 ...
- 详解Linux运维工程师
运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维 ...
- 做linux运维工程师,必须要掌握以下几个工具
linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究 ...
随机推荐
- 图--生成树和最小生成树.RP
树(自由树).无序树和有根树 自由树就是一个无回路的连通图(没有确定根)(在自由树中选定一顶点做根,则成为一棵通常的树). 从根开始,为每个顶点(在树中通常称作结点)的孩子规定从左到右的次 ...
- int类型转换成String , 不足n位 在前面补0
1.String.format("%02d", 5);-->结果:05 0代表前面要补的字符 2代表字符串长度 d表示参数为整数类型 2.秒转换成时分秒 private St ...
- windows下启动Apache报443错误!
windows下启动apache报make_sock: could not bind to address [::]:443错误! 查看指定端口的占用情况 netstat -aon|findstr & ...
- UWP&WP8.1 基础控件—TextBlock和TextBox
TextBlock:文本展示控件,有着强大的功能 TextBox:文本输入控件. 这两个控件是最为常用的基础控件. TextBlock 基础用法: 打开一个UWP项目,在XAML设计页面你可以从工具箱 ...
- 【Python】python对象与json相互转换
转自:http://blog.csdn.net/leilba/article/details/50654256 # -*- coding: UTF-8 -*- import json #自定义类 cl ...
- vue框架搭建的详细步骤(一)
在这里我们先快速的搭建一个vue的脚手架: (1).在安装vue的环境之前,安装NodeJS环境是必须的.可以使用node -v指令检查,需要保证安装了4.0版本以上的nodeJS环境. 没有安装的话 ...
- Beautiful Sequence
Beautiful Sequence 给定一些数(可能相同),将它们随机打乱后构成凹函数,求概率 .N<=60 . 首先,这种题求概率事实上就是求方案.所以现在要求的是用这些数构成凹函数的方案数 ...
- Common operators to overload-c++运算符重载的标准语法(全)
Common operators to overload Most of the work in overloading operators is boiler-plate code. That is ...
- C语言数据结构-单链表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作
1.数据结构-单链表的实现-C语言 typedef struct LNode { int data; struct LNode* next; } LNode,*LinkList; //这两者等价.Li ...
- 用勤哲excel服务器开发旅行社管理软件
做这个旅行社管理软件之前,旅行社给我的印象就是“拉客”与“接客”,业务模式应该比较简单.但做起这样一个旅行社管理软件,才发现麻雀虽小.五脏俱全,一个旅行社的运作,牵扯到的方方面面远远超出自己之前的理解 ...