首页 文章 精选 留言 我的

精选列表

搜索[shell],共7516篇文章
优秀的个人博客,低调大师

Linux下添加shell脚本使得nginx日志每天定时切割压缩

一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大,比如像下面这样: 这时,无论是出现异常时查日志,还是使用“GoAccess”等工具对日志进行分析都将会变得非常麻烦。因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本。其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的nginx日志文件,并重新载入nginx [root@localhost~]#cd/usr/local [root@localhostlocal]#mkdirscripts [root@localhostscripts]#vimnginxLog.sh 其内容如下: #!/bin/sh cd/usr/local/nginx/logs/ newAccessLog="access`date+%Y-%m-%d`.log" newErrorLog="error`date+%Y-%m-%d`.log" mvaccess.log$newAccessLog mverror.log$newErrorLog #创建日志文件 touchaccess.logerror.log #reloadNginx /etc/init.d/nginxreload #压缩日志文件 tar-zcvf$newAccessLog.tar.gz$newAccessLog--remove-files tar-zcvf$newErrorLog.tar.gz$newErrorLog--remove-files 给脚本添加可执行权限: [root@localhostscripts]#chmoda+xnginxLog.sh 添加定时任务(每天23:40执行): [root@localhostscripts]#cd/var/spool/cron/ [root@localhostcron]#echo"4023***/usr/local/scripts/nginxLog.sh">root 查看任务: [root@localhostcron]#crontab-l 这样,第二天就可以看到效果了。最后的效果如下图所示: 注:如果有多个nginx日志文件的话可以考虑将我上面的脚本改成更加通用的形式 附:nginx日志定时清理脚本: [root@localhostscripts]#vim/usr/local/scripts/cleanNginxLog.sh 其内容如下: #!/bin/sh cd/usr/local/nginx/logs/ find.-name"*`date-d'-1months'+%Y-%m-%d`*"-typef|xargs-I{}rm-f{} 注:上面脚本的意思是删除当前天之前一个月那天的日志文件 给脚本添加可执行权限: [root@localhostscripts]#chmoda+x/usr/local/scripts/cleanNginxLog.sh 添加一条定时任务(每天0:30执行): [root@localhostscripts]#echo"300***/usr/local/scripts/cleanNginxLog">>/var/spool/cron/root

优秀的个人博客,低调大师

redis的shell安装脚本,实现在linux下本机主从架构

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #!/bin/bash # create by lihuibin # date 2014-04-15 # desc install redis basedir=` pwd ` homepath= /usr/local/redis [ -d $homepath ] && { echo "redis already installed " exit } || { echo "begin init redis dir" for i in bin etc data log ; do mkdir -pv $homepath/$i done } [ -f redis-2.8.8. tar .gz ] || { echo "begin to download redis package" wget http: //download .redis.io /releases/redis-2 .8.8. tar .gz echo " download redis package completed" } echo "begin to make source code" tar xzf redis-2.8.8. tar .gz cd redis-2.8.8 make echo "make source code completed" cd src cp -r redis-benchmark redis-check-aof redis-check-dump redis-sentinel redis-cli redis-server $homepath /bin [ -f $basedir /redis .conf ] && { echo "start redis-server" for conf in redis.conf redis_salve.conf ; do cp $basedir/$conf $homepath /etc/ $homepath /bin/redis-server $homepath /etc/ $conf done } || { echo "not found $basedir/redis.conf" } 主:6379 从:6380 主:redis.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 daemonize yes pidfile /var/run/redis .pid port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 0 loglevel notice logfile "/usr/local/redis/log/redis.log" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /usr/local/redis/data slave-serve-stale-data yes slave- read -only no repl-disable-tcp-nodelay no slave-priority 100 appendonly no appendfilename "appendonly.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb lua- time -limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 notify-keyspace-events "" hash -max-ziplist-entries 512 hash -max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set -max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes 从:redis_salve.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 daemonize yes pidfile /var/run/redis_salve .pid port 6380 tcp-backlog 511 timeout 0 tcp-keepalive 0 loglevel notice logfile "/usr/local/redis/log/redis_slave.log" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump_salve.rdb dir /usr/local/redis/data slave-serve-stale-data yes slave- read -only no repl-disable-tcp-nodelay no slave-priority 100 appendonly no appendfilename "appendonly.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb lua- time -limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 notify-keyspace-events "" hash -max-ziplist-entries 512 hash -max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set -max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes SLAVEOF 127.0.0.1 6379 本文转自birdinroom 51CTO博客,原文链接:http://blog.51cto.com/birdinroom/1401493,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

用户登录
用户注册