Linux面试题&答案02

1--有一个扫描内网段(192.168.10.11/24)存活的主机的小程序(如下),能不能给它打点”鸡血”–让它跑快些?修改        一下脚本,使其可以多并发执行该脚本。

解:修改如下:

       #/bin/bash

        for i in `seq 1 254`
        do {
        ping -c2 192.168.10.$i > /dev/null && echo 192.168.10.$i alive
        }&
        done
        wait
        echo done!

2--有一日志文件(假设文件名为 demo.log ),只查看它的第1000至2000 行(方法不限)

解:sed -n '1000,2000'p demo.log

3-- Nginx二进制源码包在搜狐镜像的URL是http://mirrors.sohu.com/nginx/,如何通过管道来获取nginx的最新版本号?

解:curl -s http://mirrors.sohu.com/nginx/|grep  'nginx-.*.tar.gz'|grep -v 'asc'|awk -F '<|>' '{print $3}'|sort -n -t. -k2.2 -        k3.3 |tail -n1

       nginx-1.11.9.tar.gz

       curl -s http://mirrors.sohu.com/nginx/|sed -n 's/ .*/\1/p'|sort -t. -nr -k2.2 -         k3.2|head -1

4--Nginx服务器报 "Too Many Open Files" 一般是什么状况引起的,该如何处理?

解:1,内核级别:首先查看内核级别允许打开文件的上限,cat /proc/sys/fs/file-max 或者sysctl -n  fs.file-max 这个值默认其实是蛮大的,可以无需调节。

如果需要调整,可以编辑/etc/sysctl.conf这个文件。

$ vi /etc/sysctl.conf

加上fs.file-max设置

fs.file-max = 100000

然后重新载入核心配置

$ sysctl -p

2,系统级别:修改etc/security/limits.conf中软限制和硬限制数。

* soft nofile 10240

* hard nofile 15360

其中第一行soft表示所有用户打开文件的数量限制为10240,如果超过这个数字则提示警告信息,但是依然可以打开文件。

第二行hard表示最大的打开文件数量不能超过15360,如果超过这个数字,则无法打开文件。

这里也可以针对具体的用户或者用户组进行相应的设定。例如针对nginx这个用户进行设定:

nginx soft nofile 10240

nginx hard nofile 15360

3,应用级别:修改nginx的配置文件  添加work_rlimit_nofile=65535 

5--有一段日志(demo.txt)数据如下, 提取出 5个最多访问次数的 IP

解:awk '{print $1}'|sort -n|uniq -c|sort -nr |head -n5 

6--如果让你管理数量 100+ 服务器,你会如何去管理?

解:1,首先将100+台服务器都录入到资产管理系统中,并且使用zabbix添加监控、设置邮件报警。

        2,将100+台机器按照业务分组,比如数据库、测试等。

        3,使用自动化管理工具ansible进行批量管理。

你可能感兴趣的:(面试题&答案)