linux每天自动切割nginx日志备份到指定目录bash脚本
- 2018-03-16 11:42:41
- 脚本
- 31
- shevechco
自己写了个记录下,方便以后直接copy,linux计划任务设置,每天凌成1分开始自动切割备份
01.01 00 * * * /data/tool/cut_log.sh
将下面存为cut_log.sh传到/data/tool/目录下,并给执行权限 chmod 755 /data/tool/cut_log.sh或者chmod +x /data/tool/cut_log.sh
01.#!/bin/bash02.#01 00 */1 * * ${PATH}script.sh03.#author merci04. 05.#格式化日期格式06.D=$(date +%Y%m%d)07.#nginx日志目录路径08.NGINXLOG="/usr/local/nginx/logs/"09.#nginx切割保存日志目录10.SAVEPATH="/data/logs/nginx/"11.#nginx切割保存日志目录(日期建立)12.LOGPATH=${SAVEPATH}$D13.#日志名14.LOGNAME="access.log"15.#nginx错误日志目录16.ERRPATH=${SAVEPATH}$D17.#错误日志名18.ERRNAME="error.log"19.#日志保存最近几天20.SAVEDAY=721. 22.function cut_log(){23. mkdir -p ${LOGPATH}24. if [ -f "${NGINXLOG}${LOGNAME}" ];then25. mv ${NGINXLOG}${LOGNAME} ${LOGPATH}/${LOGNAME}26. fi27. if [ -f "${NGINXLOG}${ERRNAME}" ];then28. mv ${NGINXLOG}${ERRNAME} ${LOGPATH}/${ERRNAME}29. fi30.}31.function del_backup(){32. declare -a backup33. backuplist=`ls ${SAVEPATH}`34. i=035. for a in ${backuplist}36. do37. backup[$i]=$a38. let i=$i+139. done40. if [ "${#backup[@]}" -gt "${SAVEDAY}" ];then41. #最旧的备份42. # ${backup[0]}43. #----------------------------44. #最新的备份45. # n=`expr ${#backup[@]} - 1`;${backup[$n]} 或者 ${backup[@]: -1}46. #----------------------------47. rm -rf ${SAVEPATH}${backup[0]} >/dev/null 2>&148. else49. exit 050. fi51.}52. 53.cut_log54.del_backup
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.sulao.cn/post/460
相关推荐
- k8s集群中mongdb、etcd、prometheus数据bash一键备份脚本
- k8s业务pod端口检测和日志采集bash脚本
- k8s基于clusterrole生成集群级别只读用户bash脚本
- linux下使用supervisor发布flask应用
- flask使用nginx代理以后图片上传和加载问题解决方法
- linux下strace用法详解
- nginx反向代理http/https、rpc/grpc、ws/wss
- linux进程管理工具supervisor部署配置
- nginx四层负载均衡配置解析以及卡顿问题的处理
- centos7部署k8s多master高可用集群(k8s+containerd+nginx+keepalived)