-
今晚有空把最近运维中遇到的一些问题及解决方法总结下,
写的比较匆忙
,
可能有些问题和
错误,请各位看官指正。
————————————————————————————————————
——————
脚本死活不执行
问题:
某天研发某同事找我说帮他看看他写的
shell<
/p>
脚本,死活不执行,报错。我看了下,
脚本很简单,也没有常规性
的错误,报
“: bad interpreter: No such file
or directory”
错。一
看这错,我就问他是不是在
windows
下编写的脚本,然后
在上传到
linux
服务器的
……
p>
果然。
原因:
在
DOS/Windows
里,文本文件的换行符为
rn
,而在
*nix
系统里
则为
n
,所以
DOS/Windows
里编辑过的文本文件到了
*nix
里,
每一行都多了个
^M
。
解决:
1
)重新在
linu
x
下编写脚本;
2
)
< br>vi :% s/r//g :% s/^M//g
(
^M
输入用
Ctrl+v,
Ctrl+m
)
—————————
—————————————————————————————————
b
输出
问题
:
/var/spool/clientmqueue
目录占用
空间超过
100G
原因:
cron<
/p>
中执行的程序有输出内容,
输出内容会以邮件形式发给
cron
的用户,
而
se
ndmail
没有启动所以就产生了
/var/spool/c
lientmqueue
目录下的那些文件,
日积月累可能撑破
磁盘。
解决:
1
)直接手动删除:
ls
|xargs
rm
-f
;
2
)彻底
解决:在
cron
的自动执行语句后加
上
>/dev/null 2>&1
——————————————————————————————————————————
很慢
问题:
某天研发某同事说
10.50
访问
p>
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/f
tp
into your linux box, it’ll do a dns
lookup on you
。
解决
:
1)
修改
/etc/hosts
p>
使
hostname
和
ip
对应;
2
< br>)在
/etc/
注释掉
name
server
或者找一个
“
活的
”nameserver
。
——————————————————————————————————————————
-only file system
问题
:
同事在
mysql
里建表建不成功,
提示如下:
mysql>create table
wosontest (colddname1 char(1));
ERROR
1005 (HY000): Can’t create table ‘wosontest’
(errno: 30
)
经检查
p>
mysql
用户权限以及相关目录权限没问题;
用
perror
30
提示信息为:
OS error code 30:
Read-only file system
可能原因:<
/p>
1
)文件系统损坏;
2
< br>)磁盘又坏道;
3
)
fstab
文件配置错误,如分区格式错误错
误
(
将
ntfs
写成了
fat)
、配置指令拼写错误等。
解决:
1
)由于是测试机,重启机器后恢复;
2
)网上说用
mount
可解
决。
—————————————————————————
—————————————————
5.
文件删了磁盘空间没释放
问题:
某天发现某台机器
df
-h
已用磁盘空间为
90G
< br>,而
du
-sh
/*
显示所有使用空间加起来
才
30G
,囧。
原因:
可能某人
直接用
rm
删除某个正在写的文件,导致文件删了但磁盘空间没
释放的问题
解决:
1
)最简单重启系统或者重启相关服务。
2
)干掉进程
/usr/sbin/lsof|grep deleted
ora 25575 data 33u REG 65,65 4294983680
/oradata/DATAPRE/ (deleted)
从
lsof
的输出中,我们可以发现
pid
为
25575
的进程持有着以文件描述号(
fd
)为
33
打开
的文件
/oradata/DATAPRE/<
/p>
。在我们找到了这个文件之后可以通过结束进程
的方式来释放被占
用的空间:
echo > /proc/25575/fd/33
3
)删除正在写的文件一般用
cat /dev/null > file
———————
———————————————————————————————————
文件
问题:
在
tmp
目录下有大量包含
picture_*
的临时文件,每天晚上
2:3
0
对一天前的文件进行
清理。之前在
c
rontab
下跑如下脚本,但是发现脚本效率很低,每次执行时负载猛涨,影响
到其他服务。
#!/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
————————————————————————
——————————————————
< br>7.
获取不了网关
mac
地址<
/p>
问题:
从
2.
14
到
3.65
(映射地址
2.141
)
网络不通,
但是从
3
端的其他机器到
3.65
p>
网络
OK
。
原因:
# arp
Address HWtype HWaddress Flags Mask
Iface
192.168.3.254 ether incomplet CM
bond0
表面现象是机器自动获取不了网关
MAC
地址,
网络工程师说是网络设备的问题,
具体不
清。
解决:
arp
< br>绑定,
arp -i bond0 -s 192.168.3.254
00:00:5e:00:01:64
—————————————————————
—————————————————————
8.
问题:某天研发某同事说网站前端
+1
环境
p>
http
无法启动,我上去看了下。报如下错:
/etc/init.d/httpd start
Starting
httpd:
[Sat
Jan
29
17:49:00
2011]
[warn]
module
antibot_module
is
already
loaded,
skipping
Use proxy forward
as remote ip : true.
Antibot
exclude pattern : .*.[(js|css|jpg|gif|png)]
Antibot seed check pattern : login
(98)Address already in use: make_sock:
could not bind to address [::]:7080
(98)Address already in use: make_sock:
could not bind to address 0.0.0.0:7080
no listening sockets available,
shutting down
Unable to open log
[FAILED]
原因:
-
-
-
-
-
-
-
-
-
上一篇:地球表面形态教学设计
下一篇:ai未保存文件的两种找回方法