linux运维工程师工作中的一些常见问题解决方法
http://blog.sina.com.cn/s/blog_b9fe247a0101anoe.html
1.shell脚本死活不执行
问题:某天研发某同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,脚本很简单,也没有常规性的错误,报“: bad interpreter: No such file or directory”错。一
看这错,我就问他是不是在windows下编写的脚本,然后在上传到linux服务器的……果然。
原因:在DOS/Windows里,文本文件的换行符为rn,而在*nix系统里则为n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M。
解决:1)重新在linux下编写脚本;2)vi :% s/r//g :% s/^M//g (^M输入用Ctrl+v, Ctrl+m)
2.crontab输出
问题:/var/spool/clientmqueue目录占用空间超过100G
原因:cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了/var/spool/clientmqueue目录下的那些文件,日积月累可能撑破磁盘。
解决:1)直接手动删除:ls |xargs rm -f ; 2)彻底解决:在cron的自动执行语句后加上 >/dev/null 2>&1
3.telnet很慢
问题:某天研发某同事说10.50访问10.52memcached服务异常,让我们检查下看网络/服务/系统是否有异常。检查发现系统正常,服务正常,10.50ping10.52也正常,但10.50telnet10.52很慢。同时发现该机器的namesever是不起作用的。
原因:because your PC doesn’t do a reverse DNS lookupon your IP then… when you telnet/ftp into your linux box, it’ll do a dns lookupon you。
解决:1)修改/etc/hosts使hostname和ip对应; 2)在/etc/resolv.conf注释掉nameserver或者找一个“活的”nameserver。
4.Read-onlyfile system
问题:同事在mysql里建表建不成功,提示如下:
mysql>create table wosontest (colddname1 char(1));
ERROR 1005 (HY000): Can’t create table ‘wosontest’ (errno: 30)
经检查mysql用户权限以及相关目录权限没问题;用perror 30提示信息为:OS error code 30: Read-only file system
可能原因:1)文件系统损坏;2)磁盘又坏道;3)fstab文件配置错误,如分区格式错误错误(将ntfs写成了fat)、配置指令拼写错误等。
解决:1)由于是测试机,重启机器后恢复;2)网上说用mount可解决。
5.文件删了磁盘空间没释放
问题:某天发现某台机器df -h已用磁盘空间为90G,而du -sh /*显示所有使用空间加起来才30G,囧。
原因:可能某人直接用rm删除某个正在写的文件,导致文件删了但磁盘空间没释放的问题
解决:1)最简单重启系统或者重启相关服务。
2)干掉进程
/usr/sbin/lsof|grep deleted
ora 25575 data 33u REG 65,65 4294983680 /oradata/DATAPRE/UNDOTBS009.dbf(deleted)
从lsof的输出中,我们可以发现pid为25575的进程持有着以文件描述号(fd)为 33打开的文件/oradata/DATAPRE/UNDOTBS009.dbf。在我们找到了这个文件之后可以通过结束进程的方式来释放被占用的空间:echo > /proc/25575/fd/33
3)删除正在写的文件一般用 cat /dev/null > file
6.find文件
问题:在tmp目录下有大量包含picture_*的临时文件,每天晚上2:30对一天前的文件进行清理。之前在crontab下跑如下脚本,但是发现脚本效率很低,每次执行时负载猛涨,影响到其他服务。
#!/bin/sh
find /tmp -name “picture_*” -mtime +1 -exec rm -f {} ;
原因:目录下有大量文件,用find很耗资源。
解决:
#!/bin/sh
cd /tmp
time=`date -d “2 day ago” “+%b %d”`
ls -l|grep “picture” |grep “$time”|awk ‘{print $NF}’|xargs rm -rf
7.获取不了网关mac地址
问题:从2.14到3.65(映射地址2.141)网络不通,但是从3端的其他机器到3.65网络OK。
原因:
# arp
Address HWtype HWaddress Flags Mask Iface
192.168.3.254 ether incomplet CM bond0
表面现象是机器自动获取不了网关MAC地址,网络工程师说是网络设备的问题,具体不清。
linux运维工程师工作中的一些常见问题解决方法的更多相关文章
- 做linux运维工程师,必须要掌握以下几个工具
linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究 ...
- 要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...
要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ... [复制链接] 发表于 2013-12-13 15:59 | 来自 51CTO网页 [只看他] 楼主 本人 ...
- Linux运维工程师入门的10大实用工具
说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问题了. 工具如下: 1.Linux系统基础 这个不用说了,是基础中的基础,连这 ...
- Linux运维工程师入门须掌握的10个技术点
本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问 ...
- 详解linux运维工程师入门级必备技能
详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 ...
- Linux 运维工程师的十个基本技能点
本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧. 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问 ...
- linux运维工程师
本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问题了 ...
- linux运维工程师,必须掌握以下几个工具
本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问题了 ...
- Linux运维工程师面试
一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? ...
随机推荐
- 2018-2019-2 《网络对抗技术》Kali安装 Week1 20165212
2018-2019-2 <网络对抗技术>Kali安装 Week1 20165212 1.完成安装linux kali和vm tools 装的第三遍成功安装.前面两次镜像文件不行,没驱动(网 ...
- python functools.partial
functools.partial 用一些默认参数包装一个可调用对象,返回结果是可调用对象,并且可以像原始对象一样对待 冻结部分函数位置函数或关键字参数,简化函数,更少更灵活的函数参数调用 refer ...
- 纯CSS绘制三角形(各种角度)类似于使用字符画法,根据位移不同,也可以使用两个元素画出三角边框
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
- systemd学习笔记
一.systemd介绍 systemd即为system daemon,是linux下的一种init软件与多数发行版使用的System V风格init相比,systemd采用了以下新技术: (1) 采用 ...
- hybrid app、react-native 区别
hybrid app.react-native 区别: 项目 hybrid app react-native 组件 用HTML.CSS.JavaScript实现页面的制作,然后运行在Webview上( ...
- FineUI 修改config表属性
此功能可用来设置系统的不同的标题 private void SelectSystem() { ConfigHelper.Title = DropDownList1.SelectedText; Conf ...
- sqlserver 同义名的使用
USE [ccflow5]GOdrop synonym ccusergo/****** Object: Synonym [dbo].[ccuser] Script Date: 11/12/20 ...
- 【appium】根据name定位元素
目前没有尝试成功,等成功后补充 个人建议可以尝试先用view显示的文本作为name看是否能拿到该控件,按照我个人的经验一般都是会成功的,所以我很怀疑安卓上面控件的name是否就等于text.
- javacv 340使用 人脸检测例子【转载】
Java下使用opencv进行人脸检测 工作需要,研究下人脸识别,发现opencv比较常用,尽管能检测人脸,但识别率不高,多数是用来获取摄像头的视频流的,提取里面的视频帧,实现人脸识别时通常会和其他框 ...
- apache-cxf-2.6.3 spring集成配置
apache-cxf-2.6.3 <?xml version="1.0" encoding="UTF-8"?><beans xmlns=&qu ...