Linux 的面试小题 4

1.计划每天凌晨1点对Mysql数据库letang备份一次,备份后的文件要带有当天的日期。请编写shell脚本并设定crontab

答案:

vim /usr/local/sbin/backup.sh

#!/bin/bash

bakdir=/root/mysql_bak

d=`date +%F`

[ -d $bakdir ] || mkdir $bakdir

mysqldump -uroot --default-character-set=utf8 -p'****' letang >$bakdir/$d-letang.sql

crontab:

0  1  *  *  *  /bin/bash /usr/local/sbin/backup.sh

 

2.查询文件/logs/foo.log以”abc”结尾的行。

答案:

grep  “abc$” /logs/foo.log

 

3.如何将/usr/local/mysql/bin添加到环境变量中

答案:

vim /etc/profile.d/path.sh

写入 export PATH=$PATH:/usr/local/mysql/bin
保存后执行: source /etc/profile

 

4.请描述一下如何查找并杀掉letang.sh进程

答案:

ps aux|grep letang.sh 找出进程ID,然后 kill 进程ID

 

5.查找/logs目录下前缀为access的文件并删除

答案:

find  /logs  -type f  -name “access*” -exec rm -rf {} \;

 

6.通过nginx访问日志access.log统计ip和每个地址的访问次数,并列出前10 名

日志格式如下:

123.232.208.98 - [10/Sep/2016:16:33:13 +0800] "/thread-14858-1-1.html" 200 "http://www.lishiming.net/forum.php?mod=guide&view=my" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 TheWorld 6"

答案:

IP前10名: awk '{print $1}' access.log |sort|uniq -c|sort -rn|head

网址前10名:awk -F '"' '{print $2}’ access.log|sort|uniq -c|head

 

posted @ 2017-07-28 17:14  静醉丶那份默念  阅读(87)  评论(0)    收藏  举报