Linux常用Cron脚本
日志文件
每天一个日志文件
#根据日期生成文件名可变部分
LogNameDATE=`date '+%Y%m%d'`
#将内容写入每日文件
echo "日志内容" >> log_$LogNameDATE.log
带日期前缀
变量形式
#日期变量date前缀
date=`date +"%Y-%m-%d %H:%M:%S"`
echo $date ":日志内容" >> log.log
直接输出形式
#直接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小时内的文件
#查找当前文件夹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
服务器时间校准
#给crontab添加任务
crontab -e
#每天凌晨1点执行一次bash脚本
0 1 * * * /root/timeCheck.sh
timeCheck.sh脚本内容如下
echo "------------------------------------------------------" >> timeAdjustLog.log;
echo -e $(date '+%Y-%m-%d %H:%M:%S %A') "开始执行时间校准脚本! " >> timeAdjustLog.log;
/usr/sbin/ntpdate -u ntp.ntsc.ac.cn >> timeAdjustLog.log;
echo -e "执行时间校准完毕! 校准后时间:" $(date '+%Y-%m-%d %H:%M:%S %A') >> timeAdjustLog.log;
Http发送数据
GET
curl www.baidu.com
POST
curl -d "param1=value1¶m2=value2" www.baidu.com
参数
-
-I 只显示头部信息。
-
-i 显示全部信息,包括头信息和正文。
-
-v 显示解析全过程,解析过程,头信息和正文。
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~