Rootop 服务器运维与web架构

2013-07-10
发表者 Venus
暂无评论

linux下查找包含某个字符串的文件

比如在当前路径下有个test文件夹,其中包含 a、b、 c、d.c 四个文件,内容如下:
[root@rhel6www ~]# pwd
/root
[root@rhel6www ~]# ll -d test/
drwxr-xr-x 2 root root 4096 Apr 11 02:15 test/
[root@rhel6www ~]#

[root@rhel6www test]# cat a
venus
[root@rhel6www test]# cat b
venusnq
[root@rhel6www test]# cat c
saslkdjfalsdkjflk
[root@rhel6www test]# cat d.c
hahahvenus

现在需要寻找包含“venus”字符串的文件。
[root@rhel6www ~]# find test/ -type f | xargs grep “venus”
test/a:venus
test/b:venustsui
test/d.c:hahahvenus

find + 搜索目录  -type f  只寻找文件。

这样是搜索所有文件,在linux下,软件源码包中有.h 、.c文件,如果我们从*.c 中搜索某个字符串。可以这样。
[root@rhel6www ~]# find test/ -type f -name “*.c” | xargs grep “venus”
hahahvenus

这样排除了部分文件,提高效率。

2013-07-05
发表者 Venus
暂无评论

ERROR 1146 (42S02): Table ‘mysql.servers’ doesn’t exist

更改了mysql用户权限,刷新的时候报错:

mysql> flush privileges;
ERROR 1146 (42S02): Table ‘mysql.servers’ doesn’t exist

mysql> flush privileges;ERROR 1146 (42S02): Table ‘mysql.servers’ doesn’t exist

可能是因为数据库版本升级导致的。解决办法:

1、直接导入 mysql 源码文件下 scripts 目录下的mysql_fix_privilege_tables.sql 脚本即可修复。

2、mysql中执行:


use mysql;
CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL,
`Host` char(64) NOT NULL,
`Db` char(64) NOT NULL,
`Username` char(64) NOT NULL,
`Password` char(64) NOT NULL,
`Port` int(4) DEFAULT NULL,
`Socket` char(64) DEFAULT NULL,
`Wrapper` char(64) NOT NULL,
`Owner` char(64) NOT NULL,
PRIMARY KEY (`Server_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2013-06-17
发表者 Venus
暂无评论

[Warning] /usr/libexec/mysqld: Forcing close of thread * user

服务器前台打不开,速度极慢,shutdown mysql挂掉,启动挂掉,杀进程,启动,开始能打开,接着提示无法连接到数据库。

查看日志:

130617  9:21:38 [Warning] /usr/libexec/mysqld: Forcing close of thread 74254546  user: ”

解决办法:

my.cnf添加:

skip-locking

skip-name-resolve

重启解决。

P.S 服务器跑了五百多天,没出过问题,突然出现这个。

2013-06-12
发表者 Venus
暂无评论

lpk.dll 病毒

      该死的厂家,批判一下,电话交换机是一家 华维 品牌。自带的光盘可以调试电话交换机,开始安装就提示有病毒,没放心上忽略了。

       第二天,qq提示lpk.dll文件注入,遂检查系统,发现好多隐藏的lpk.dll文件。完蛋了。中毒了。

查资料,此病毒自动复制到任何可执行的目录里,在运行exe程序时,dll文件被加载,激活。并且自动释放到压缩文件中!这个最变态!

我属于常年裸奔型的。这次中大发了。

普通文件夹下的病毒文件可以通过杀软删掉,rar中的无法删除。后来找到这个工具:lpkKiller

  下载地址:http://update.ggsafe.com/download/lpkKiller.zip

扫面全盘,才将rar中的删除。(好像只感染rar,zip、iso之类的不会有问题)

重启,再用杀毒软件扫描,干净了。系统搜索lpk.dll,异常的也没有了。

系统中本身在system32下也有这么个文件。比较hash值就可以发现异常!

2013-05-23
发表者 Venus
暂无评论

网上看到的6道linux面试题

1、给定一个nginx的日志access.log,请输出实时的qps(request per second)。


#!/bin/bash
while true
do

t=$(date +%Y:%H:%M:%S)
log=/var/log/httpd/access.log
rps=$(grep "$t" $log | wc -l)

sleep 1

echo $rps
done

2、现有一个100G大小的日志文件,由于时间因素,只允许读取一次,但需要分别将含有两个pattern的行输出到两个文件中,请给出方案。

3、发现某IP无法访问,请给出尽可能详细的诊断方案,定位可能存在的问题。(目标机器宕机、近机房端网络中断、骨干网问题、或者其他可能的问题。)

4、uptime命令的输出中有load average: 0.24, 0.30,
0.24,请(1)解释这里load的数值的含义;(2)说明该数值多大时表示系统负载很高;(3)当系统负载高时,如何找出是什么因素导致负载高的。

5、现在有一个大小约1g的源代码目录(如linux内核源码),需要从机器A上传输到机器B上。请给出两到三种方案,并陈述各方案的优劣。

1、打包压缩scp  方便快捷   或者 直接scp传送文件夹

2、nfs 挂载网络文件系统,挂到本地,跟本地拷贝一样

6、现有一个目录,其中有一百万(数量级)个的小文件,请给出两到三种删除该目录的方法,并陈述各方案的优劣。

1、rm -rf /tmp/temps/*   这个方法曾经删除7w多个文件时试过,有报错。

2、find /tmp/temps/ -type f | xargs rm -rf   找到一个删一个

 1、 2、 5、 6 最有挑战性。