定时备份日志 设置执行权限 [root@VM_0_10_centos shellScript]# chmod a+x logBackup,sh 脚本内容 [root@VM_0_10_centos shellScript]# cat logBackup,sh #!/bin/bash#===========================================# BACKUP LOGS#===========================================# 设置显示的日期…
shell脚本 #!/bin/bash #容器ID container_id="6b1faea2b4d7" #登录用户名 mysql_user="root" #登录密码(注意 如果密码包含特殊符号 前面要用'\') mysql_password="Yvi\$123" mysql_port="3306" #备份的数据库名 mysql_database="clne" # 备份文件存放地址(根据实际情况填写) b…
1.首先对linux操作系统的crontab命令进行熟悉和了解: .crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务. .Linux下的任务调度分为两类,系统任务调度和用户任务调度. a.系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘.日志清理等.在/etc…
#!/bin/bash ############### common file ################ #备份文件存放目录 WEBBACK_DIR="/data/backup/bak_web" #格式化日期,备份文件时用日期来做文件名的 DATE=`date +%Y%m%d-%H%M%S` #保存日期 DAYS= ############ www info ###################### #WEB目录 WEBSITE_DIR="/data/web&qu…
脚本代码: 新建文件back_db.sh #!/bin/bash TODAYTIME="`date +%Y%m%d`" DBNAME="test mysql" DUMPPATH="/usr/local/webserver/mysql/bin/mysqldump" HOST="xxx" USER="xxx" PASSWD="xxx" DB_FILE="/home/data/bac…
#!/bin/bash #set java envexport JAVA_HOME=/wocloud/java/jdk1.7.0_45export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH #set hadoop envexport HADOOP_HOME=/home/hadoop/app/hadoop-2.6.4ex…
Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志,还是使用"GoAccess"等工具对日志进行分析都将会变得非常麻烦.因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本.其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的ngi…
编写shell脚本,实现nginx日志每天自动备份到指定文件夹! 需要的命令mv , corntab -e(定时任务),shell脚本 这里先说一下corntab: https://www.cnblogs.com/longjshz/p/5779215.html  这里有一篇详细介绍corn的, 这里只简单说一下用法: corntab -e 就可以编写我们需要的定时任务,编辑之后保存即可,需要按指定格式: 比如: 0 6 * * * echo "Good morning." >&g…
使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBACK_DIR="/data/backup/bak_mysql" #格式化日期,备份文件时用日期来做文件名的 DATE=`date +%Y%m%d-%H%M%S` #保存日期 DAYS= ######## mysql info ############################ # D…
上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 备份文件加上时间戳date +%Y%m%d%H%M%S 以上是备份说明,下面分三步操作 一.shell脚本 [root@CentOs6 lampp]# vi test.sh    #创建shell脚本 #!/bin/bash                                    #…
今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份.直接上脚本如下: #!/bin/sh #Automatic Backup Linux System Files #Author wugk 2013-11-22 #Define Variable SOURCE_DIR=( $* ) TARGET_DIR=/data/backup/ YEAR=`date +%Y` MONTH=`date…
shell脚本分析nginx日志: name=`awk -F ',' '{print $13":"$32}' $file | awk -F ':' '{print $4}'`echo "name=$name" awk -F http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 抽取nginx日志access.log中的状态码,然后统计状态码中大于等于200小于300的数量 grep -ioE…
shell脚本调试打印日志问题 1. 需求 我们在编写脚本的时候,有时候需要做调试,便于我们定位问题,有时候等脚本上线之后,我们需要保留脚本执行过程中的记录.便于我们在出问题的时候,定位问题. 2. 如下脚本实现将脚本执行记录打印至日志文件 2.1脚本内容 [root@@@@]# vi cat_test.sh #!/bin/bash ####使用shell脚本的调试功能,将脚本执行过程中的内容打印至日志文件中 set -x -v exec 1>./test.log 2>&1 who |…
#! /bin/bash幸运28源码搭建下载Q[115288oo99]logintool=/home/yx/server/mysql/mysql/bin/mysqldumptool=/home/yx/server/mysql/mysql/bin/mysqldumpusername=rootpasswd=`cat /home/yx/stt/shellmysql/dumpsql/.passwd`socketfile=/var/run/mysqld/mysqld.sockstorepath=/home…
定时备份数据库是很有必要的 一.脚本内容 [root@localhost dbbackup]# cat dbbackup.sh #!/bin/bash #备份数据库 mysqldump -uroot -h数据库主机ip -p密码 数据库 > /usr/local/dbbackup/数据库_$(date +%Y%m%d_%H%M%S).sql mysqldump -uroot -h数据库主机ip -p密码 数据库 > /usr/local/dbbackup/数据库_$(date +%Y%m%d_…
1 Shell脚本案例 删除超过30天的日志文件 #!/bin/bash log_path=/mnt/software/apache-tomcat-.M22/logs d=`date +%Y-%m-%d` d90=`date -d'30 day ago' +%Y-%m-%d` #cd ${log_path} && cp catalina.out $log_path/cron/catalina.out.$d.log #echo > catalina.out rm -rf $log_pa…
转自:http://www.cnblogs.com/lishun1005/p/6054816.html 鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了) 1:废话少说,直接贴上脚本: #!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目录下的catalina.out文件的绝对路…
由于过多的日志很占用磁盘空间,今天经理让我写一个脚本删除多余的日志.和es索引 定时删除试根据crontab+shell脚本实现的 crontab配置目录 /var/spool/cron/ 该目录下存放的是每个用户(包括root)的crontab任务,文件名以用户名命名 /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本. crontab操作步骤 Step-One : 编辑任务脚本[分目录存放][ex: backup.sh] Step-Two : 编辑定时文件[命名规…
编写shell脚本,用于启动.关闭jar程序: #!/bin/bash #description: 启动重启server服务 #需要配置环境变量后才能直接使用java这些变量 export JAVA_HOME=/data/jdk1.8.0_111 export PATH=$PATH:$JAVA_HOME/bin #启动命令所在目录 HOME='/data/dingtalk' #过滤查询执行.jar的线程PID pid=`ps -ef|grep dingtalk.jar|grep -v grep|…
1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定义要生成的sql名称) 2.在linux操作系统上手动还原数据库 mysql -uroot -p密码 < 数据库.sql(如果不是在当前目录下要进行添加具体路径)我是在当前目录下存储运行的 记得要查生成的sql文件,可以进行更改的(不建议进行修改库名,但是大多数可以在表中进行造数据) 3.在linux操…
一.写Shell脚本 mkdir -p /var/script/ vim /var/script/freemem.sh 写入以下Shell脚本: #!/bin/bash # 当前已使用的内存大小 used=`free -m | awk 'NR==2' | awk '{print $3}'` # 当前剩余的内存大小 free=`free -m | awk 'NR==2' | awk '{print $4}'` echo "===========================" >…
删除log文件简单shell脚本 经常会遇到日志把磁盘占满的情况,引起低级故障.我个人在实际工作中,尝试了如下的方法,比较简单,而且快捷有效. #!/bin/bash # /root/log_delete.sh dir_log_1="/home/log/log1" dir_log_2="/home/log/log2" dir_log_3="/home/log/log3" if [ -d "${dir_log_1}" ]; th…
shell脚本如何优雅的记录日志信息,下面让我们一步一步,让shell脚本的日志也变得高端起来,实现如下功能 ①设定日志级别,实现可以输出不同级别的日志信息,方便调试 ②日志格式类似为:[日志级别] 时间 funcname:函数名 [lineno:行号] 日志信息 ③不同级别,设定不同颜色 ④让其变为函数库文件,重用代码 下面看看我用shell记录日志的进化之路 1.最简单的日志记录方式 对于刚入门的同学,记录日志一般用echo加重定向方式,这应该是最原始的方式了^_^ echo "log me…
当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在做优化时候,经常用到的一段shell 脚本. 这个也可以算是,统计web页面的slowpage 慢访问页面,象mysql slowquery .nginx 日志配制: log_format main '$remote_addr - $remote_user [$time_local] $reques…
我们平时查日志,在测试环境,日志文件只有几个的情况下,我们可以通过找时间接近的文件然后根据关键词定位报错位置,大不了都查一遍,这都可以忍受.但是在实际的生产环境下,服务器集群部署,每天的日志非常多非常多,每台机器都会有几十个甚至多达上百个.数百个日志文件产生.遇到问题需要查询日志时,你会发现如果一个个文件去查,你会崩溃掉.因为这是很费时的重复性工作,而且也不一定能查到. 为了解决这种问题,大多数人会去编写shell脚本,用来检索日志文件,这样能筛掉很多无用文件,减轻查日志的工作量.服务器集群部署…
1.日志文件列表 比如:/data1/logs/2019/08/15/ 10.1.1.1.log.gz 10.1.1.2.log.gz 2.统计日志中的某关键字shell脚本 zcat *.gz|grep 关键字 |grep -oP "deviceid=[^=]+"|uniq|sort -u > /tmp/20190815.log date 格式化出年月等信息,拼接成路径 wc -l /tmp/20190815.log , 获取到行数 php /xxxxx/sendmail.ph…
脚本如下: #!/bin/bash #数据库IP dbserver='127.0.0.1' #数据库用户名 dbuser='root' #数据密码 dbpasswd=' #数据库,如有多个库用空格分开 dbname='brdb_jtkg_0222 brdb_jtkg_0425' #备份时间 backtime=`date +%Y%m%d-%H-%M` #备份输出日志路径 logpath='/home/mysqlbackup/' echo "################## ${backtime…
备份MySQL数据库场景:一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求:1)每天备份一次,需要备份所有的库2)把备份数据存放到/data/backup/下3)备份文件名称格式示例:dbname-2019-11-23.sql4)需要对1天以前的所有sql文件压缩,格式为gzip5)本地数据保留1周6)需要把备份的数据同步到远程备份中心,假如本机可以直接通过rsync命令同步,同步目标地址为192.168.234.125,数据存放目录:/data/mysq…
#!/bin/shuser='root'pass='root'name='vfc_sport' # 数据表名定义timestamp=`date -d "next month" +%Y%m`tablename='vf_sport_'$timestamp # SQL语句mysql -uroot -proot <<EOF USE $name CREATE TABLE IF NOT EXISTS $tablename ( id int(11) NOT NULL, user_id i…
#!/usr/bin/env python #-*- coding: utf-8 -*- import os import time # 备份的指定目录 source = ['/data/www/Admin/','/data/www/tpl/'] # 备份文件存放路径 target_dir='/home/backup/web_back/' # 备份时长 data = 5 # 备份日志 filebak_log = "/var/log/filebak.log" # 删除备份文件日志 fil…