定期备份mysql的log日志文件,保留一个月

将文件压缩为gzip格式,节省空间,备份到/home/shell/myqsl_back/目录下,保留一个月
mysql_backup备份的脚本

#!/bin/bash
/usr/local/mysql/bin/mysqldump
-uroot -pmingqua1 --all-databases --routines --events --triggers | gzip
> /home/shell/mysql_bakup/mysql_bakup_`date '+%Y-%m-%d'`.sql.gz

find /home/shell/mysql_bakup -mtime +30 -name "*.gz" -exec rm -rf {} \;

定期处理nginx的log文件

#!/bin/bash
#function:cut nginx log files
#

#set the path to nginx log files
log_files_path="/home/wwwlogs/"
#log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
log_files_dir=$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#set nginx log files you want to cut
log_files_name=( ggg8.com_access,xxx.com_access,别的省略)   
#这是从/usr/local/nginx/conf/vhost/ggg8.com.conf  xxx.com.conf
#set the path to nginx.
nginx_sbin="/usr/local/nginx/sbin/nginx"
#Set how long you want to save
save_days=30

cd $log_files_path
############################################
#Please do not modify the following script #
############################################
mkdir -p $log_files_dir

log_files_num=${#log_files_name[@]}

#cut nginx log files
for((i=0;i<$log_files_num;i++));do
#mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
tar -zcvf ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").tar.gz ${log_files_name[i]}.log
#delete source
rm -rf ${log_files_name[i]}.log
done

#delete 30 days ago nginx log files
find $log_files_path -mtime +$save_days -exec rm -rf {} \;

$nginx_sbin -s reload

还有一个nginx定期处理脚本文件:
#!/bin/bash
#desc:把当前日志按日期备份,重新生成第二天的日志文件

DATE=`date +%Y%m%d`
NGINX_PID=`cat /var/run/nginx.pid`
#如果当前Nginx没有运行就退出
if [ "$?" != 0 ]
then
        exit 1;
fi

#nginx 日志所在的路径
LOG_PATH='/usr/local/nginx/logs/'
LOG_NAME='access.log'
mv ${LOG_PATH}${LOG_NAME} ${LOG_PATH}${LOG_NAME}$DATE

#删除7天前旧的备份文件
function deloldbak()
{
        olddate=`date +"%Y%m%d" -d "-$1 day"`
        if [ -e "${LOG_PATH}${LOG_NAME}$olddate" ]
        then
                rm -f ${LOG_PATH}${LOG_NAME}$olddate
                echo "${LOG_PATH}${LOG_NAME}$olddate del OK"
        fi
}

#重载nginx配置,重新生成nginx日志文件
kill -USR1 $NGINX_PID

if [ "$?" == 0 ]
then
        deloldbak 7
        exit 0;
fi

data -d +"%Y-%m-%d"
date -d "yesterday" +"%Y"
date -d "yesterday" +"%m"

[root@test2 ~]# date +"%Y-%m-%d"
2018-03-28
[root@test2 ~]# date -d "yesterday" +"%m"
03
[root@test2 ~]# date -d "yesterday" +"%d"
27
[root@test2 ~]# date -d "1 day ago" +"%Y-%m-%d"
2018-03-27
[root@z ~]# date -d "yesterday" +"%Y"
2018

crontab -e

mkdir -p /home/shell/

* 0 * * * sh /home/shell/cut_nginx_logs.sh  >> /dev/null 2>&1        
0 3 * * * sh /home/shell/mysql_bakup.sh >> /dev/null 2>&1

log日志,crontab的更多相关文章

  1. Linux**系统实现log日志自动清理

    Linux系统实现log日志自动清理 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  2. linux log日志解析

    linux log日志解析   其实,可以说成是监控系统的记录,系统一举一动基本会记录下来.这样由于信息非常全面很重要,通常只有 root 可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误 ...

  3. Atitit.log日志技术的最佳实践attilax总结

    Atitit.log日志技术的最佳实践attilax总结 1. 日志的意义与作用1 1.1. 日志系统是一种不可或缺的单元测试,跟踪调试工具1 2. 俩种实现[1]日志系统作为一种服务进程存在 [2] ...

  4. mysql general log日志

    注:应一直出现http://www.cnblogs.com/hwaggLee/p/6030765.html文章中的问题 故mysql general log日志.查看具体是什么命令导致的. 打开 ge ...

  5. 使用触发器实现记录oracle用户登录失败信息到alert.log日志文件

    前面我们说了用oracle自带的审计功能可以实现记录用户登录失败日志到数据表中(链接:http://www.54ok.cn/6778.html).今天我们来分享一下如何把用户登录失败信息记录到aler ...

  6. Junit测试打印详细的log日志,可以看到sql

    Junit测试打印详细的log日志,可以看到sql 在log4j.xml的日志配置文件中,把日志级别从info级别调整到debug级别: <?xml version="1.0" ...

  7. iOS及时log日志查看工具 (iConsole)

    github下载地址:https://github.com/nicklockwood/iConsole 偶然看到的一个iOS及时log日志查看工具,通过该工具,我们可以在任何想看日志的时候,通过手势呼 ...

  8. svn update -r m path 代码还原到某个版本(这样之前的log日志也就没了,也就是清空log日志)

    [root@ok 资料库]# svn log 简历 ------------------------------------------------------------------------ r ...

  9. 【个人使用.Net类库】(2)Log日志记录类

    开发接口程序时,要保证程序稳定运行就要时刻监控接口程序发送和接收的数据,这就需要一个日志记录的类将需要的信息记录在日志文件中,便于自己维护接口程序.(Web系统也是如此,只是对应的日志实现比这个要复杂 ...

随机推荐

  1. mac配置android开发环境(一)

    MAC配置ADB环境变量 android环境搭建完成之后需要配置android环境变量,这对以后的运行调试很有帮助. 下面我将一下mac环境下的配置步骤: 1.在本地目录(home directory ...

  2. windows下Mongodb和Memcached安装笔记

    MongoDB安装: D:\ProgramFiles\MongoDBServer3.2\bin\mongod --dbpath D:\mongoData D:\ProgramFiles\MongoDB ...

  3. 使用 Azure 创建网络文件系统

    本快速入门介绍了如何使用 Azure 文件存储实现网络文件共享.在本教程中完成的所有操作均符合 1 元试用条件. 本快速入门介绍了如何使用 Azure 文件存储实现网络文件共享.在本教程中完成的所有操 ...

  4. 【数据库-Azure SQL Database】如何创建事务复制将本地数据同步到 SQL Azure

    Azure SQL DB 可以被配置成为 SQL Server 事务复制的一个订阅者( subscriber ). 主要应用场景有两种: 将您的数据迁移到 Azure SQL DB, 并且没有宕机时间 ...

  5. codevs 1131 统计单词数 2011年NOIP全国联赛普及组

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位 ...

  6. 适用于iOS7 UI的外描边图标素材下载

    我们知道ios7的界面设计是非常简约的,图标也不例外,iOS7的icon大部使用了扁平化的外描边风格设计,使得整体看起来十分简约.耐看,这次分享达人为大家收集将近600个漂亮的外描边图标下载,这些图标 ...

  7. Luogu P5351 Ruri Loves Maschera

    先ORZ\(Owen\)一发.感觉是个很套路的题,这里给一个蒟蒻的需要特判数据的伪\(n\log^2 n\)算法,真正的两只\(\log\)的还是去看标算吧(但这个好想好写跑不满啊) 首先这种树上路径 ...

  8. 传统BP对比CNN

    传统BP vs CNN 存在2个问题 传统BP网络存在的问题: 权值太多,计算量太大 权值太多,需要大量样本进行训练 传统的BP来处理图像问题的话因为计算权值太多太大. 网络的建立要根据数据的大小来建 ...

  9. 两个input标签之间间隙问题的解决

    <input type="text"> <input type="button" value="搜索"> 代码显示效 ...

  10. Bootstrap历练实例:禁用的按钮

    <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...