分享一篇文章,原文来自:Linux运维常见面试题之精华收录。
- 什么是运维?
- 运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转过程中,对他进行维护,她集合了网络,系统,数据库,开发,安全,监控与一身的技术。 运维又包括很多种,有DBA运维,网站运维,虚拟化运维,监控运维,系统运维,游戏运维等等等。
-
游戏运维分工为,开发运维,应用运维(业务运维)和系统运维 开发运维:给应用运维开发运维工具和运维平台, 应用运维:是给业务上线,维护,和故障排除,用于开发运维开发出来的工具给业务上线,维护,故障排除 系统运维:是给应用运维提供业务上的基础设施,比如:系统,网络,监控,硬件等等 总结:开发运维河系统运维给应用运维提供了“工具”和“基础设施”上的支撑 开发运维,应用运维和系统运维他们的工作是环环相扣的
-
在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的? 游戏运营要做的事情出了协调工作以外,还需要与各平台沟通,做好开服的时间,开服数,用户到量,活动等计划
-
现在给你三百台服务器,你怎么对他们进行管理 1). 设定跳板机,使用统一账号登录,便于安装与登录的方便考虑。 2). 使用salt,ansiable,puppet进行系统的统一调度与配置的统一管理。 2). 建立简单的服务器系统,配置,应用的cmdb信息管理。便于查阅每台服务器上面的各种信息
-
简述raid0,1,5,三种工作模式的工作原理及特点 raid,可以把磁盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据。多个盘放在一起可以有冗余(备份) raid整合方式有很多,常用的 0 1 5 10 1). raid0,可以是一块和N个盘的组合。 其优点读写快,是raid最快的 缺点没有冗余,一块坏了数据就全没有了 2). raid1,只能两块硬盘,盘的大小可以不一样,以小的为准 10G+10G只能使用10G,另一个做备份。她有100%的冗余,缺点:浪费资源,成本高 3). raid5,3块盘容量技术10*(n-1),损失一块盘 特点,读写性能一般,读还好一点,写不好 4). raid10,是一个“raid1”与“raid0”的组合体,他继承了raid0的快速和raid1的安全。 注意:注意一下Raid 10 和 Raid01的区别 RAID01又称为RAID0+1,先进行条带存放(RAID0),再进行镜像(RAID1)。 RAID10又称为RAID1+0,先进行镜像(RAID1),再进行条带存放(RAID0)。
冗余从好到坏:RAID1 RAID10 RAID 5 RAID0
性能从好到坏:RAID0 RAID10 RAID5 RAID1
成本从低到高:RAID0 RAID5 RAID1 RAID10
单台服务器:很重要盘不多,系统盘,RAID1
数据库服务器:主库:RAID10 从库 RAID5\RAID0(为了维护成本,RAID10)
WEB服务器,如果没有太多的数据的话,RAID5,RAID0(单盘)
有多台,监控、应用服务器,RAID0 RAID5
我们会根据数据的存储和访问的需求,去匹配对应的RAID级别
- lvs,nginx,haproxy有什么区别?工作中你怎么选着? lvs:是基于四层的转发 haproxy:是基于四层和七层的转发,是专业的反向搭理服务器 nginx:是web服务器,缓存服务器,又是反向代理服务器,可以做七层转发 区别:lvs由于是基于四层的转发所以只能做端口的转发而基于url的基于目录的这种转发lvs是做不了的 工作选择:haproxy和nginx由于可以做七层转发,所以url和目录的转发都可以在很大并发量的时候我们就要选着lvs,像中小型公司的话并发量没有那么大选择haproxy或者nginx足以,由于haproxy又是专业的代理服务器配置简单,所以中小型企业推荐使用haproxy
- squid,varinsh和nginx有什么区别,工作中怎么选择? squid,varinsh和ning都是代理服务器 区别: 1). nginx本身就是反向代理/web服务器 但是本身不支持挺多特性,只能缓存静态文件 2). 从功能上varnish和squid是专业的cache服务,而nginx是第三方模块完成的。 3).varnish本身的技术上优势要高于squid,它采用了可视化页面缓存技术 在内存的利用上,varnish比squid具有优势,性能要比squid高。 还有强大的通过varnish管理端口,可以使用正则表达式快速,批量清楚部分缓存。 它是内存缓存,速度一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的 4). squid的优势在于完整庞大的cache的技术资料,和很多的应用生产环境 工作中的选择: 要做cache服务的话,肯定选择专业的cache服务,优先选择squid或者varnish(个人比较中意squid)
- tomcat和resin有什么区别,工作中你怎么选择? 区别:tomcat用户多,可参考的文档多。resin用户数少,可以考虑的文档比较少。 主要区别是tomcat是标准的Java容器,不过性能方面比resin要差一些, 但是稳定性和Java程序的兼容性,应该是比resin要好。 工作中选择:现在大公司都是用resin,追求性能;而中小型公司都是用tomcat,追求稳定和程序的兼容性
- 什么是中间件?什么是jdk 中间件: 中间件是一种独立的系统软件或者服务程序,分布式应用软件借助软件在不同的技术之间共享资源 中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或者独立系统的软件。相连接的系统,即使他们具有不同的接口,但是通过中间件相遇之间仍能交换信息。执行中间件的一个关键途径是信息的传递。通过中间件,应用程序可以工作与多平台活os环境。 jdk:jdk是Java的开发工具包,它是一种构建在Java平台上发布的应用程序,applet和组件的开发环境
- 讲述一下tomcat8005 8009 8080三个端口的含义? 8005 关闭时使用 8009 为ajp端口,既容器使用,如apache能通过ajp协议访问tomcat的8009端口 8080 一般应用使用
- 什么是CDN 既内容分发网络 其目的是通过现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近与用户的网络边缘,使用户可以就近取得所需内容,提高用户访问网站的速度。
- 什么叫网站灰度发布? 灰度发布是指在黑与白之间,能够平滑过渡的一种方式。 AB test就是灰度发布的一种方式,让一部分用户继续用A,一部分用户开始使用新的B 如果用户对B没有什么反对的意见,那么逐步扩大范围,把所有用户都迁移到B上面来 灰度发布可以保证正整体系统的稳定性,在初始灰度的时候就可以发现,调整问题,来保证其影响度
- 简述DNS进行域名解析的过程? 用户要访问baidu.com,会先找本机的host文件,再找本地设置的DNS服务器,如果也没有的话,就去网络中根服务器,根服务器反馈的结果,说只能提供一级域名服务器.cn ,就去找一级域名服务器,一级域名服务器只能提供二级域名服务器.com.cn,就去找二级域名服务器,二级域名服务器只能提供三级域名服务器.baidu.com.cn,就去找三级域名服务器,三级域名服务器正好有这个网站baidu.com,然后发给请求的服务器,保存一份后,再发给客户端
- rabbitmq是什么东西? rabbitmq也就是消息队列中间件,消息中间件再消息的传送信息过程中保存消息的容器,消息中间件再将消息从它的源中到他的目标时充当中间人的作用 队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用消息队列不会保留消息,直到可以成功传递为止,当然消息队列保存信息也是有期限的
- 讲一下keepalived的工作原理 在一个虚拟路由器中,只能作为master的vrrp路由器会一直发送vrrp通告信息,BACKUP不会抢占MASTER,除非他的优先级跟高。当MASTER不可用时(BACKUP收不到通告信息) 多台BACKUP中优先级最高的这台会被抢占为MASTER。这总抢占是非常快速的(<1s),以保证服务的连续性 于安全考虑,VRRP包使用了加密协议进行加密,BACKUP不会发送通告信息,只会接收通告信息
- 讲述一下lvs三种模式的工作过程? lvs有三种负载均衡的模式,分别是VA/NAT(NAT模式),VS/DR(路由模式),VS/TU(隧道模式)
1. NAT模式(VS-NAT) 原理就是把客户端发送来的数据包的IP头部的目的地址,在负载均衡器上换成其中一台RS的IP地址并发送至此RS来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包源IP地址改为自己的IP 将目的地址改为客户端IP地址即可期间无论是进来的流量,还是出去的流量,都必须经过负载均衡器。 优点:群集中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址 缺点:拓展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包河应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会慢
2. IP隧道模式(VS-TUN) 原理:首先要知道,互联网上的大多Internet服务的请求包很短小,而应答包通常很大。那么隧道模式就是把客户端发送来的数据包,封装一个新的IP头标(仅目的IP)发送给RS,RS收到收到后,先把数据包的头解开,还原数据包,处理后直接返回给客户端不需要经过负载均衡器。注意,由于RS需要对负载均衡器发过来的数据包进行还原,所以说必须支持IPTUNNEL协议,所以在RS的内核中,必须编译支持IPTUNNEL这个选项 优点: 负载均衡只负责将请求的报分发给后端节点服务器,而RS将答应的包直接发送给用户,所以减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量。这种方式一台均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。 缺点: 隧道模式的RS节点需要合法的IP,这种方式需要所有服务器支持“IP Tunneling”。(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上。
3. 直接路由模式 原理: 负载均衡器和RS都是使用用一个IP对外服务但只有DR对ARP请求进行响应。搜优RS对本身这个IP的ARP请求保持静默也就是说,网关会把这个服务的IP地址的请求全部重定向给DR,而DR收到数据包后根据调度算法,找出对应的RS,把目的的MAC地址改为RS的mac(因为IP一致)并将请求分发给这台RS这时RS收到这个数据包,处理完成之后,由于IP一致,可以直接将数据返回给客户。则定于直接从客户端收到这个数据包无异,处理后直接返回给客户端。由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域也可以简单的理解为同一台交换机上。 优点: 和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统为物理服务器。 缺点: (不能说缺点,只能说是不住)要求负载均衡器的网卡必须与物理网卡在一个物理段上。
- MySQL的innodb如何定位锁问题,MySQL如何减少主从复制延迟? MySQL的innodb何如定位锁问题: 在使用show engine innodb status检查引擎状态时,发现了死锁的问题,在5.5中,information_schema 库中增加了三个关于锁的表(MEMORY引擎)
innodb_trx ## 当前运行的所有事务
innodb_locks ## 当前出现的锁
innodb_lock_waits ## 锁等待的对应关系
mysql如何减少主从复制延迟: 如果延迟比较大,就先确认以下几个因素:
- 从库硬件比主库差,导致复制延迟
- 主从复制单线程,如果主库写并发太大,来不及传送到从库就会导致延迟。更高版本的mysql可以支持多线程复制
- 慢SQL语句过多
- 网络延迟
- master负载 主库读写压力大,导致复制延迟,架构的前端要加buffer及缓存层 slave负载 一般的做法是,使用多台slave来分摊读请求,再从这些slave中取一台专用的服务器 只作为备份用,不进行其他任何操作.另外, 2个可以减少延迟的参数: –slave-net-timeout=seconds 单位为秒 默认设置为 3600秒
参数含义:当slave从主数据库读取log数据失败后,等待多久重新建立连接并获取数据 –master-connect-retry=seconds 单位为秒 默认设置为 60秒 #参数含义:当重新建立主从连接时,如果连接建立失败,间隔多久后重试 通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟
MySQL数据库主从同步延迟解决方案 最简单的减少slave同步延时的方案就是在架构上做优化,尽量让主库的DDL快速执行 还有就是主库是写,对数据安全性较高,比如
sync_binlog=1
,innodb_flush_log_at_trx_commit = 1
之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog innodb_flushlog
也可以设置为0来提高sql的执行效率。另外就是使用比主库更好的硬件设备作为slave
- 如何重置mysql root密码? > 在已知MYSQL数据库的ROOT用户密码的情况下,修改密码的方法: 1). 在SHELL环境下,使用mysqladmin命令设置: mysqladmin –u root –p password “新密码” 回车后要求输入旧密码 2). mysqladmin –u root –p password “新密码” 回车后要求输入旧密码
Update mysql.user set password=password(‘新密码’) where user=’root’;
flush privileges;
- 在mysql>环境中,使用grant命令,修改root用户的授权权限。
grant all on *.* to root@’localhost’ identified by ‘新密码’;
如查忘记了mysql数据库的ROOT用户的密码,又如何做呢?方法如下: 1. 关闭当前运行的mysqld服务程序:service mysqld stop(要先将mysqld添加为系统服务) 2. 使用mysqld_safe脚本以安全模式(不加载授权表)启动mysqld 服务 /usr/local/mysql/bin/mysqld_safe --skip-grant-table & 3. 使用空密码的root用户登录数据库,重新设置ROOT用户的密码
#mysql -u root
Update mysql.user set password=password(‘新密码’) where user=’root’;
flush privileges;
- lvs/nginx/haproxy优缺点
- Nginx的优点是:
- 工作在网络的7层上,可以针对http应用做一些分流的策略,比如针对域名,目录结构它的正则比haproxy更为强大和灵活,这也是它目前广泛流行的主要原因之一 Nginx单凭这点可以利用的场合就远多于lvs了。
- Nginx对网络的稳定性的依赖非常小,理论上能ping通就能进行负载功能,这个也是它的优势之一 相反lvs对网络的稳定性依赖比较大
- Nginx安装和配置比较简单,测试起来比较方便,他基本能把错误用日志的方式打印出来 lvs的配置,测试就要花费比较长的时间了。lvs对网络的依赖比较大。 > > 4. 可以承受高负载压力且稳定,在硬件不差的情况下一般能支撑几万次并发量,负载度比lvs相对小些。
- Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码,超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持cul来检测。比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程出现故障,Nginx会把上传切到另一台服务器重新处理,而lvs就直接断掉了 > > 6. Nginx不仅仅是一款邮箱的负载均衡器/反向代理软件,它同时也是功能强大的web应用服务器 lnmp也是近几年非常流行的web架构,在高流量的环境中稳定性也很好。
- Nginx现在作为web反向加速缓存越来越成熟了,速度相比传统的squid服务更快,可以考虑用其作为反向代理加速器
- Nginx可以作为中层反向代理使用,这一层面Nginx基本无对手,唯一可以对比Nginx的就只有Lighttpd了 不过Lighttpd目前还没有做到Nginx完全的功能,配置也不那么清晰易读,社区资料也远远没有Nginx活跃
- Nginx也可以作为静态网页和图片服务器,这方面的性能也无对手,还有Nginx社区非常活跃,第三方模块也很多
- Nginx的缺点是:
- Nginx仅支持HTTP,HTTPS和email协议,这样就在适用范围上面小些,这个是它的缺点。
- 对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测 不支持session的直接保持,但能通过ip_hash来解决
- LVS:使用Linux内核集群实现一个高性能、高可用的负载均衡服务器 它具有很好的可伸缩性,可靠性和可管理性
- lsv的优点是:
- 抗负载能力强,是工作在网络4层之上仅作分发用没有流量的产生。这个特点也决定了他在负载均衡软件里的性能最强的,对CPU资源和内存消耗比较低
- 配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西。所以并不需要太多的接触,大大减少了人为的出错的几率
- 工作稳定,因为其本身抗负载能很强,自身有完整的双机热备方案。如lvs+keepalived。不过我们在项目实施中用的最多的还是lvs/dr+keepalived
- 无流量,LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会收到大流量的影响。
- 应用范围较广,因为LVS工作在4层,所以它几乎可对所有应用做负载均衡,包括http、数据库、在线聊天室等
- LVS的缺点是:
- 软件本身不支持正则表达式处理,不能做动静分离,而现在许多网站在这方面都有较强的需求,这个是Nginx/HAProxy+Keepalived的优势所在
- 如果是网站应用比较庞大的话,LVS/DR+Keepalived实施起来就比较复杂了. 特别后面有Windows Server的机器的话,如果实施及配置还有维护过程就比较复杂了 相对而言,Nginx/HAProxy+Keepalived就简单多了。
- HAProxy的特点是:
- HAProxy也是支持虚拟主机的。
- HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导 同时支持通过获取指定的url来检测后端服务器的状态
- HAProxy跟LVS类似,本身就只是一款负载均衡软件 单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的
- HAProxy支持TCP协议的负载均衡转发,可以对MySQL读进行负载均衡 对后端的MySQL节点进行检测和负载均衡,大家可以用LVS+Keepalived对MySQL主从做负载均衡
- HAProxy负载均衡策略非常多,HAProxy的负载均衡算法现在具体有如下8种:
①roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;
② static-rr,表示根据权重,建议关注;
③leastconn,表示最少连接者先处理,建议关注;
④ source,表示根据请求源IP,这个跟Nginx的IP_hash机制类似
我们用其作为解决session问题的一种方法,建议关注;
⑤ri,表示根据请求的URI;
⑥rl_param,表示根据请求的URl参数’balance url_param’ requires an URL parameter name;
⑦hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
⑧rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。
- mysql数据备份工具 mysqldump工具: mysqldump是mysql自带的备份工具,目录在bin目录下面:/usr/local/mysql/bin/mysqldump 支持基于innodb的热备份,但是由于是逻辑备份,所以速度不是很快,适合备份数据比较小的场景 Mysqldump完全备份+二进制日志可以实现基于时间点的恢复。 基于LVM快照备份: 在物理备份中,有基于文件系统的物理备份(LVM的快照),也可以直接用tar之类的命令对整个数据库目录 进行打包备份,但是这些只能进行泠备份,不同的存储引擎备份的也不一样,myisam自动备份到表级别 而innodb不开启独立表空间的话只能备份整个数据库。 tar包备份: percona提供的xtrabackup工具 支持innodb的物理热备份,支持完全备份,增量备份,而且速度非常快,支持innodb存储引起的数据在不同 数据库之间迁移,支持复制模式下的从机备份恢复备份恢复,为了让xtrabackup支持更多的功能扩展 可以设立独立表空间,打开 innodb_file_per_table功能,启用之后可以支持单独的表备份
- keepalive的工作原理和如何做到健康检查 keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组 这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内 其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了 这时就需要根据VRRP的优先级来选举一个backup当master。这样就可以保证路由器的高可用了 keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护 及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式,vrrp模块是来实现VRRP协议的 Keepalived健康检查方式配置:
HTTP_GET|SSL_GET
HTTP_GET | SSL_GET
{
url {
path /# HTTP/SSL 检查的url可以是多个
digest <STRING> # HTTP/SSL 检查后的摘要信息用工具genhash生成
status_code 200# HTTP/SSL 检查返回的状态码
}
connect_port 80 # 连接端口
bindto<IPADD>
connect_timeout 3 # 连接超时时间
nb_get_retry 3 # 重连次数
delay_before_retry 2 #连接间隔时间
}
- 统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位的ip
cat access.log | awk '{print $1}' | uniq -c | sort -rn | head -10
- 使用tcpdump监听主机为192.168.1.1,tcp端口为80的数据,同时将输出结果保存输出到tcpdump.log
tcpdump 'host 192.168.1.1 and port 80' > tcpdump.log
- 如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1
iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -dport 80 -j DNAT-to-destination 192.168.2.1:8080
- Linux系统中病毒怎么解决
- 最简单有效的方法就是重装系统
- 要查的话就是找到病毒文件然后删除 中毒之后一般机器cpu、内存使用率会比较高 机器向外发包等异常情况,排查方法简单介绍下 top 命令找到cpu使用率最高的进程 一般病毒文件命名都比较乱,可以用 ps aux 找到病毒文件位置 rm -f 命令删除病毒文件 检查计划任务、开机启动项和病毒文件目录有无其他可以文件等
- 由于即使删除病毒文件不排除有潜伏病毒,所以最好是把机器备份数据之后重装一下
- 发现一个病毒文件你删了他又自动创建怎么解决 公司的内网某台linux服务器流量莫名其妙的剧增,用iftop查看有连接外网的情况 针对这种情况一般重点查看netstat连接的外网ip和端口。 用lsof -p pid可以查看到具体是那些进程,哪些文件 经查勘发现/root下有相关的配置conf.n hhe两个可疑文件,rm -rf后不到一分钟就自动生成了 由此推断是某个母进程产生的这些文件。所以找到母进程就是找到罪魁祸首 查杀病毒最好断掉外网访问,还好是内网服务器,可以通过内网访问 断了内网,病毒就失去外联的能力,杀掉它就容易的多 怎么找到呢,找了半天也没有看到蛛丝马迹,没办法只有ps axu一个个排查 方法是查看可以的用户和和系统相似而又不是的冒牌货,果然,看到了如下进程可疑 看不到图片就是/usr/bin/.sshd 于是我杀掉所有.sshd相关的进程,然后直接删掉.sshd这个可执行文件 然后才删掉了文章开头提到的自动复活的文件 总结一下,遇到这种问题,如果不是太严重,尽量不要重装系统 一般就是先断外网,然后利用iftop,ps,netstat,chattr,lsof,pstree这些工具顺藤摸瓜 一般都能找到元凶。但是如果遇到诸如此类的问题 /boot/efi/EFI/redhat/grub.efi: Heuristics.Broken.Executable FOUND,个人觉得就要重装系统了
- 查看http的并发请求数与其TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
还有ulimit -n 查看linux系统打开最大的文件描述符,这里默认1024
不修改这里web服务器修改再大也没用,若要用就修改很几个办法,这里说其中一个:
修改/etc/security/limits.conf
* soft nofile 10240
* hard nofile 10240
重启后生效
- 用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}'| sort | uniq -c | sort -nr |head -20
- 写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线
#!/bin/bash
for ip in `seq 1 255`
do
{
ping -c 1 192.168.1.$ip > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo 192.168.1.$ip UP
else
echo 192.168.1.$ip DOWN
fi
}&
done
wait
- 请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut,有能力者也可分别用 awk,sed 命令答)
cut方法1:
ifconfig eth0|sed -n '2p'|cut -d ":" -f2|cut -d " " -f1
awk方法2:
ifconfig eth0|awk 'NR==2'|awk -F ":" '{print $2}'|awk '{print $1}'
awk多分隔符方法3:
ifconfig eth0|awk 'NR==2'|awk -F "[: ]+" '{print $4}'
sed方法4:
ifconfig eth0|sed -n '/inet addr/p'|sed -r 's#^.*ddr:(.*)Bc.*$#\1#g'
- 每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包)
# cat a.sh
#/bin/bash
cd /var/www/ && /bin/tar zcf /data/html-`date +%m-%d%H`.tar.gz html/
# crontab –e
00 00 * * * /bin/sh /root/a.sh
发表评论
共 0 条评论
暂无评论