記錄一條篩選分析nginx的access_log的指令
## 根據日期切割日志
```
sed -n '/14\/May\/2019/,/15\/May\/2019/p' /data/log/nginx/m.tugou.com.access.log > /tmp/m20190514.log
```
* -n:僅展示m.tugou.com.access.log中經過‘/14\/May\/2019/,/15\/May\/2019/p’過濾的數據行
## 獲取2-3點時間段內訪問量前10的url
```
grep "25/May/2019:1[4-5]" /data/log/nginx/www.tugou.com.access.log | awk '{print $7}' | sort | uniq -c | sort -nrk 1 | head -n 10
```
* awk '{print $7}':取出url,print 需要被{}包起來,外面需要單引號,不能是雙引號
* uniq -c:合并重復值并展示重復次數
* sort -nrk 1:
* n:按照數值排序
* k 1:根據第1列排序
* r:倒序
* head -n 10:獲取前10行
## 根據sql語句過濾日志
```
tail -n +213693 /www/web_log/web3/baimahu/log/tuan/going/sign_phoneSigning_sign.log | grep 'SELECT\ \*\ FROM\ `cus_detail' | awk -F\' '{print $2}'
```
* tail -n +213693 :過濾文件第213693行之后的數據
* grep 'SELECT\ \*\ FROM\ `cus_detail':過濾內容包含空格,*時需要使用\反斜杠轉義。
* awk -F\':分隔符是單引號'時需要使用\反斜杠轉義
## 統計數量
```
wc -l
```
## 查找文件
```
find /tmp/ -type f -mtime +7 -name "*.sh" -exec cp {} /tmp/test \
```
* -type f: 文件類型是 **普通文件**
* -mtime:文件最新修改時間,+7:大于7天
* -name “*.sh“:以sh結尾的文件
* -exec:與其他命令組合使用
* {}:find命令返回的信息
## 上傳本地文件到遠程目錄
```
scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest
```
## 上傳本地目錄到遠程目錄
```
scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest
```
## 復制遠程文件到本地
```
scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
```