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/<a href=.*\(nginx-.*.tar.gz\)<\/a> .*/\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进行批量管理。