本人微信公众号"aeolian"~

Linux常用命令

## 日志文件

### 每天一个日志文件

“`bash
#根据日期生成文件名可变部分
LogNameDATE=`date ‘+%Y%m%d’`

#将内容写入每日文件
echo “日志内容” >> log_$LogNameDATE.log
“`

### 带日期前缀

变量形式

“`bash
#日期变量date前缀
date=`date +”%Y-%m-%d %H:%M:%S”`
echo $date “:日志内容” >> log.log
“`

直接输出形式

“`bash
#直接echo到文件,日期与日志内容间存在\n换行
echo -e `date ‘+%Y-%m-%d %H:%M:%S %A’` “\n日志内容 ” >> log.log
#同上,简化版。
echo -e `date ‘+%F %T %A’` “\n日志内容! ” >> log.log

#输出到以日期格式文件名
echo -e $(date) “\n日志内容! ” >> log_`date +’%Y-%m-%d’`.log
echo -e $(date ‘+%Y-%m-%d %H:%M:%S %A’) “\n日志内容! ” >> log_`date +’%Y-%m-%d’`.log
“`

## 查询3小时内的文件

“`bash
#查找当前文件夹3小时内的非文件夹类型的文件
find . -cmin -180 -name ‘*.log’ -exec ls -lrt {} \; | grep -v ‘^d’
“`

详解

“`bash
find . -cmin -420 -name ‘*.log’ #查询七小时内当前文件夹的所有文件,这里的*代表全部,可以用*.txt等等过滤。

-exec ls -lrt {} \; #把前面find的结果作为输入给ls命令,占位符为{},l为显示长信息,t表示按时间排序,r表示倒序。

grep -v ‘^d’ #过滤掉以d开头的记录,^表示开头的正则表达式,-v表示invert-match过滤掉匹配的记录。ls -l查询出的文件夹都以d开头。和find中用-type f参数一个效果
“`

## 自动删除三天前备份文件

先判断是否存在3天内的文件,如果存在,则删除三天前的文件

“`bash
if find /dbbackup -mtime -3 -name ‘*.sql’ -exec ls -lrt {} \; | grep -v ‘^d’ >/dev/null
then
find /dbbackup -type f -mtime +3 -name “*.sql” -exec rm -rf {} \;
else
echo “delete fail”;
fi
“`
带日志输出
“`bash
echo -e `date ‘+%Y-%m-%d %H:%M:%S %A’` ” 开始删除备份文件。。。” >> autoDelDBbackup.log
if find /db_backup -mtime -3 -name ‘*.zip’ -exec ls -lrt {} \; | grep -v ‘^d’ >/dev/null
then
find /db_backup -type f -mtime +3 -name “*.zip” -exec echo {} \; >> autoDelDBbackup.log
find /db_backup -type f -mtime +3 -name “*.zip” -exec rm -rf {} \;
echo -e `date ‘+%Y-%m-%d %H:%M:%S’` “备份删除成功” >> autoDelDBbackup.log
else
echo `date ‘+%Y-%m-%d %H:%M:%S’` “近三天无备份文件,不执行删除操作!!! ” >> autoDelDBbackup.log
fi
“`

## Http发送数据

### GET

“`bash
curl www.baidu.com
“`

### POST

“`bash
curl -d “param1=value1&param2=value2” www.baidu.com
“`

### 参数

– -I 只显示头部信息。

– -i 显示全部信息,包括头信息和正文。

– -v 显示解析全过程,解析过程,头信息和正文。

点赞

Leave a Reply

Your email address will not be published. Required fields are marked *