有一小撮别有用心的人,他们会想办法获取论坛的用户名列表,然后用弱密码逐个尝试每一个用户名。针对这一情况,论坛程序会把每一次登陆失败的记录放在日志里面。请编写脚本找出尝试登陆失败次数最多的 top 10 的IP地址和登陆失败次数。测试数据见附件illegal.log
请编写脚本监控日志文件中的关键字<Error>,一旦发现该关键字就马上发邮件给admin@ChinaUnix.net,样例数据见附件wls_ms1.out,要求如下:
(1)假设该脚本在crontab中每10分钟执行一次,每次运行时只检测最近十分钟之内的日志里面有没有出现关键字,十分钟之前的日志不要误报。
(2)样例数据仅供参考,实际日志文件比较大(比如1GB),请充分考虑代码效率。
(3)应用程序会实时地更新这个日志文件,因此不允许对该文件进行分割。
请在本地机器192.168.1.2上编写脚本,把远程192.168.1.3 ~ 192.168.1.100每台机器上的某个文件夹打包压缩复制到本地作为备份。本地机器和远程机器之间已经建立好ssh信任关系。要求如下:
(1)远程机器上待备份的文件路径为 /opt/WebSphere/AppServer/profiles/
(2)以下子文件夹不需要备份:
bin
logs
(3)以下文件不需要备份:
*.log
*heapdump*
*.gz
*.tar
*.zip
*.bak
(4)本地机器上存放备份文件的目录为 /var/ChinaUnix/
(5)星期一到星期六执行增量备份,星期日执行完整备份。crontab里面只允许增加一条记录用于执行脚本。
(6)考虑到脚本在各种UNIX/Linux系统中的通用性,不允许使用rsync命令。
下面的两种表达有何不同:
command1 && command2 || command3
if command1
then
command2
else
command3
fi
给出一个多位数,算出其每位数的总和。比如 1234, 得到 10
如果不考虑 GNU date (就是不带 -d 参数),
1. 如果给个日期 比如 2013-05-23,算出是这年的第几天。
2. 算出昨天日期
把1~9 九個數字分成三組三位數(不可重复使用),比如形成如下的9宫格。
4 9 1
8 3 6
2 7 5
求三行和三列数的总和,如上面的例子,得到一个总和: 491 + 836 + 275 + 482 + 937 + 165 = 3186
题目要求,所有的三位数都必须是奇数,总和是 4446. 求出这个九宫格排列。
[bash]如果当前目录下存在文件名包含空格(space)的文件,rm *可以删除它吗?为什么?
bash 的参数展开( parameter expansion) 在路径展开( pathname expansion) 之前。举
个例子来验证这一说法。
目录dirA 和 dirB 下的文件类似于:
20130605 1527 厂长[979909063] - 龙行天下[162256958].che
20130605 1541 我行我素[439395038]- 随便[1559914175].che
20130606 0912 厂长[979909063] - 龙行天下[162256958].che
20130606 1757 黑哥[1578318706] - 随便[1559914175].che
20130606 1823 黑哥[1578318706] - 随便[1559914175].che
20130606 0912 厂长[979909063] - 龙行天下[162256958].XQF
其中, .che为QQ游戏自动保存的中国象棋格式,.XQF为另一种中国象棋格式,由.che转换而来。
两个目录可能存在重复的文件(文件名相同且内容相同)。
要求:
1. 用最简洁的命令列出当前目录下的非 20130605开头的文件。
2. 将文件名中所有的空格, []去掉。
3. 删除 dirA 下与 dirB 下重复的.che或.XQF文件。
4. 如果有对应的 .XQF文件,则删除相应的.che文件。
这种对应关系可能跨目录,比如dirA/file.che 与 dirB/file.XQF也看作是对应文件。
wozeiwori 发表于 2013-06-25 23:15
第一题
[root@bogon opt]# awk -F'\t' '{a[$6]++}END{for(i in a)print i,a}' illegal.log|so ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |