Linux常用命令

日志文件

每天一个日志文件

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

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

带日期前缀

变量形式

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

直接输出形式

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

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

查询3小时内的文件

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

详解

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天内的文件,如果存在,则删除三天前的文件

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

带日志输出

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

curl www.baidu.com 

POST

curl -d "param1=value1&param2=value2" www.baidu.com

参数

  • -I 只显示头部信息。

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

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

原文地址:https://www.cnblogs.com/aeolian/p/13267755.html