Linux 运维常见问题及解决方法
1.shell 脚本死活不执行
问题:某天研发某同事找我说帮他看看他写的 shell 脚本,死活不执行,报错。我看
了下,脚本很简单,也没有常规性的错误,报“: bad interpreter: No such le 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 lookup on your IP then…
when you telnet/ftp your linux box, it’ll do a dns lookup on you。
解决:1)修改/etc/hosts 使 hostname 和 ip 对应; 2)在/etc/resolv.conf 注释掉
nameserver 或者找一个“活的”nameserver。
—————————————————————————————————————
—————
4.Read-only le 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 le system
可能原因:1)文件系统损坏;2)磁盘又坏道;3)fstab 文件配置错误,如分区格式错误
错误(将 ntfs 写成了 fat)、配置指令拼写错误等。
解决:1)由于是测试机,重启机器后恢复;2)网上说用 mount 可解决。
评论0
最新资源