小编dea*_*mer的帖子

你有任何有用的 awk 和 grep 脚本来解析 apache 日志吗?

我可以使用日志分析器,但通常我需要解析最近的网络日志以查看当前发生的情况。

我有时会做一些事情,比如找出请求某个文件的前 10 个 ip

cat foo.log | grep request_to_file_foo | awk '{print $1}' |  sort -n | uniq -c | sort -rn | head
Run Code Online (Sandbox Code Playgroud)

你的工具箱里有什么?

grep logging parsing awk apache-2.2

72
推荐指数
5
解决办法
14万
查看次数

命令行安全技巧

命令行和脚本是危险的。使用 rm -rf 犯一个小错误,你就会陷入伤害的世界。在运行导入脚本时将数据库名称中的 prod 与 stage 混淆,并且您已绑定(如果它们在同一台服务器上,这并不好,但会发生)。同样为太晚注意到您 sshed 所在的服务器名称不是您在玩弄一些命令后认为的那样。你必须尊重Hole Hawg

在运行有风险的命令之前,我有一些小习惯——比如对我所在的服务器进行三重检查。这是一篇关于 rm security有趣文章

什么小仪式、工具和技巧可以让你在命令行上保持安全?我的意思是客观的东西,比如“首先运行 ls foo*,查看它的输出,然后用 rm -rf 替换 ls 以避免运行 rm -rf foo * 或类似的东西”,而不是“确保你知道什么是命令会做”。

unix command-line-interface

34
推荐指数
7
解决办法
1万
查看次数

如何递归地将子文件夹中的所有文件(包括隐藏文件)移动到 *nix 中的父文件夹中?

这是一个有点尴尬的问题,但我不得不承认,在我职业生涯的后期,我仍然对 mv 命令有疑问。

我经常遇到这个问题:我需要将所有文件递归地向上移动一层。假设我有文件夹 foo,里面有一个文件夹 bar。Bar 有一堆文件和文件夹,包括点文件和文件夹。如何将 bar 中的所有内容移动到 foo 级别?

如果 foo 为空,我只需将 bar 移到上一层,删除 foo 并将 bar 重命名为 foo。部分问题是我无法弄清楚“包括点在内的一切”的 mv 通配符是什么。这个问题的一部分是 - 是否有对 cp 和 mv 命令在某处使用的通配符的深入讨论(谷歌搜索这只会带来非常基本的教程)。

command-line-interface nix mv wildcards

14
推荐指数
2
解决办法
3万
查看次数

时间漂移

你如何处理服务器时间漂移?

ntp time time-synchronization

12
推荐指数
4
解决办法
1万
查看次数

批量或大规模杀死行为不端的 MySQL 查询

你如何杀死大量的 MySQL 查询?这是一个很好的方法

mysql> SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE user='root' INTO OUTFILE '/tmp/a.txt';
mysql> source /tmp/a.txt;
Run Code Online (Sandbox Code Playgroud)

除了在 MySQL 管理员 GUI 中单击它们致死之外还有其他的吗?

mysql bulk-action

6
推荐指数
1
解决办法
8078
查看次数

在生产中对 apache 重定向进行故障排除

您如何解决生产中的 Apache 重定向问题?我知道某处有一个日志记录功能,可以让您记录发生的所有重定向......

troubleshooting redirect apache-2.2

5
推荐指数
1
解决办法
2494
查看次数

MySQL 休眠查询

当显示完整的进程列表时;返回许多带有 0 时间列的“睡眠”状态查询,这可能是什么原因造成的?MySQL实际上如何决定连接是否需要休眠?与 mysql 对话的应用程序没有使用持久连接。

mysql

1
推荐指数
1
解决办法
466
查看次数