首页 > 系统相关 >nginx切割日志部署脚本编写

nginx切割日志部署脚本编写

时间:2023-12-27 14:58:42浏览次数:35  
标签:script 部署 crontab echo nginx location 编写 日志

#!/bin/bash
# utf-8
# description: 部署nginx_lograte.sh脚本
# ---------------------------------------------------------------------
script_name="logrotate_new.sh"
script_download_directory="http://172.20.147.61/CentOS/app/script/hby"     # 脚本下载路径
script_directory="/export/servers/nginx/sbin"                              # 脚本存放路径
crontab_file_location="/etc/crontab"                                       # crontab文件路径
old_crontab_expression_keyword1="/export/servers/nginx/sbin/logrotate.sh"   # 旧的crontab表达式
old_crontab_expression_keyword2="/export/servers/nginx/sbin;./logrotate.sh"   # 旧的crontab表达式
# ---------------------------------------------------------------------

# 部署切割脚本
deploy_script() {
 echo "部署切割脚本  [开始]"
 local download_url="${script_download_directory}/${script_name}"
 local script_location="${script_directory}/${script_name}"

 if /usr/bin/wget -q -O ${script_location} ${download_url}; then
     chmod +x "${script_location}"
     echo "部署切割脚本  [完毕]"
 else
     echo "部署切割脚本 [失败]"
     exit 1
 fi

}

# 部署crontab
deploy_crontab() {
 local script_location="${script_directory}/${script_name}"
 local crontab_expression="18 * * * * root sh ${script_location}"
 # 注释掉之前的crontab
 echo "部署crontab  [开始]"
 # 添加新的crontab
 ## 判断之前是否有新脚本且没注释
 local count=$(grep -v "#" "${crontab_file_location}" | grep -c "${script_location}")
 if (( count == 0 )); then
   /bin/sed -i "s@^[^#].*${old_crontab_expression_keyword1}*@#&@g" "${crontab_file_location}"
   /bin/sed -i "s@^[^#].*${old_crontab_expression_keyword2}*@#&@g" "${crontab_file_location}"
   echo >> /etc/crontab
   echo "# nginx new version log cutting" >> /etc/crontab
   echo "${crontab_expression}" >> "${crontab_file_location}"
   echo "部署crontab  [完毕]"
 else
   echo "部署crontab  [已存在]"
 fi

}

# 主函数
main() {
 deploy_script
 deploy_crontab
}

main

标签:script,部署,crontab,echo,nginx,location,编写,日志
From: https://www.cnblogs.com/PythonOrg/p/17930540.html

相关文章

  • 12-Mysql的日志管理
    一、mysql常见日志二、错误日志配置方法:[mysqld]log-error=/data/mysql/mysql.log查看配置方式:mysql>showvariableslike'%log%error%';作用:记录mysql数据库的一般状态信息及报错信息,是我们对于数据库常规报错处理的常用日志,默认在data目录下三、一般查询......
  • 事件时间日志,精准工作之道
    你好,我是刚哥。事件时间日志,是在李笑来《把时间当做朋友》中看到的,来源于柳比歇夫的日志,Event-timeLog。事件日志只记录事件的名称,而事件时间日志还记录了时间,比如:给斯拉瓦写信——二小时四十五分。李笑来在书中谈到了事件时间日志的好处:“它会使你对时间的感觉越来越精确。可......
  • python之日志logging
    转载:https://blog.csdn.net/weixin_43790276/article/details/101944628 logging模块是Python内置的标准模块,用于输出代码日志。一、logging模块简介在工作中,运行的代码量是非常大的,为了更方便的管理代码运行,监控代码运行的过程,需要在代码中添加一些必要的日志输出。Py......
  • 虚拟机 搭建 nginx
    1虚拟机安装nginx      关于systemctl的一些使用命令systemctlstartxxxsystemctlstopxxxsystemctlenablexxxsystemctldisablexxxsystemctlstatusxxxsystemctlreloadxxx  2关闭防火墙或者打开相应的端口     关于nginx......
  • 37. 干货系列从零用Rust编写负载均衡及代理,负载均衡中try_files实现
    wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/......
  • 自定义php日志类收集应用日志
    <?phpclassMiniLog{ privatestatic$_instance; private$_path; private$_pid; private$_handleArr; function__construct($path){ $this->_path=$path; $this->_pid=getmypid(); } privatefunction__clone(){ } publics......
  • Nginx项目部署
    本篇来总结一下vue项目打包部署到nginx上的流程和注意事项使用1.Vue打包在NPM脚本中找到build,或者在终端控制台输入npmrunbuild就可以对vue项目进行打包在文件目录dist中的文件就是本次打包的文件2.nginx简介Nginx是一款轻量级的Web服务器/反向代理服务器及其电子邮件......
  • STM32编写OLED显示屏驱动
    (文章目录)前言这篇文章将带大家学习如何编写OLED显示屏的驱动程序。这里我使用的是HAL库的硬件IIC,OLED屏幕使用的是SSD1306的。这里需要参考SSD1306的数据手册来编写驱动程序。手册位置:一、OLED的器件地址OLED的器件地址由8个位组成,分别是011110SA0R/W#。数据手册有这样......
  • [Nginx] API请求体过大时,报:Nginx 413 Request Entity Too Large [转载]
    1问题描述此问题(通过方法1)已解决,但整体的解决思路,参考自网友,故著名为【转载】文章昨晚压测时,通过API请求10000个设备的若干信号(5个)状态时,Postman返回Nginx的如下错误API整个请求有1.37MB413RequestEntityTooLarge2问题分析通过字面意思,即可知悉:nginx的cl......
  • nginx 安装
    #!/bin/bash###############################################################FileName:install_nginx.sh#Version:V1.0#Author:junwang#Organization:#CreatedTime:2021-04-1317:12:54#Description:###############################################......