log日志,crontab
定期备份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的更多相关文章
- Linux**系统实现log日志自动清理
Linux系统实现log日志自动清理 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- linux log日志解析
linux log日志解析 其实,可以说成是监控系统的记录,系统一举一动基本会记录下来.这样由于信息非常全面很重要,通常只有 root 可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误 ...
- Atitit.log日志技术的最佳实践attilax总结
Atitit.log日志技术的最佳实践attilax总结 1. 日志的意义与作用1 1.1. 日志系统是一种不可或缺的单元测试,跟踪调试工具1 2. 俩种实现[1]日志系统作为一种服务进程存在 [2] ...
- mysql general log日志
注:应一直出现http://www.cnblogs.com/hwaggLee/p/6030765.html文章中的问题 故mysql general log日志.查看具体是什么命令导致的. 打开 ge ...
- 使用触发器实现记录oracle用户登录失败信息到alert.log日志文件
前面我们说了用oracle自带的审计功能可以实现记录用户登录失败日志到数据表中(链接:http://www.54ok.cn/6778.html).今天我们来分享一下如何把用户登录失败信息记录到aler ...
- Junit测试打印详细的log日志,可以看到sql
Junit测试打印详细的log日志,可以看到sql 在log4j.xml的日志配置文件中,把日志级别从info级别调整到debug级别: <?xml version="1.0" ...
- iOS及时log日志查看工具 (iConsole)
github下载地址:https://github.com/nicklockwood/iConsole 偶然看到的一个iOS及时log日志查看工具,通过该工具,我们可以在任何想看日志的时候,通过手势呼 ...
- svn update -r m path 代码还原到某个版本(这样之前的log日志也就没了,也就是清空log日志)
[root@ok 资料库]# svn log 简历 ------------------------------------------------------------------------ r ...
- 【个人使用.Net类库】(2)Log日志记录类
开发接口程序时,要保证程序稳定运行就要时刻监控接口程序发送和接收的数据,这就需要一个日志记录的类将需要的信息记录在日志文件中,便于自己维护接口程序.(Web系统也是如此,只是对应的日志实现比这个要复杂 ...
随机推荐
- 《Head First HTML与CSS》项目实践中学到的东西
1.组织的重要性. 首先是要建立两个根文件夹,一个存上线页面的资源,一个存测试页面的资源.所有改动内容都在测试页面的文件夹中进行,在这个文件夹中进行测试.W3C语法检测后(HTML检测网站:https ...
- c语言中的赋值
int s,i,len,err=0 这个是只给err赋了值还是这四个都有?
- 玄学C语言之scanf,printf
#include <bits/stdc++.h> using namespace std; int main() { int a,c,d; ]; scanf("%d." ...
- 欧拉回路/通路 Codeforces Round #288 (Div. 2)
http://codeforces.com/contest/508/problem/D 以上是题目链接 题目大意 给n个字符串看能不能链接在一起 因为 三个三个分割 所以字符串 如abc ab作为起点 ...
- 图像处理框架 Core Image 介绍
这篇文章会为初学者介绍一下 Core Image,一个 OS X 和 iOS 的图像处理框架. 如果你想跟着本文中的代码学习,你可以在 GitHub 上下载示例工程.示例工程是一个 iOS 应用程序, ...
- 47.Number of Islands(岛的数量)
Level: Medium 题目描述: Given a 2d grid map of '1's (land) and '0's (water), count the number of islan ...
- 屏蔽系统的Ctrl+c/x/v操作
实现效果: 知识运用: KeyEventArgs类的Control, public bool Control {get;} //获取一个值 该值指示是否曾按下Ctrl键 KeyCode和Handled ...
- 1658: Easier Done Than Said?
1658: Easier Done Than Said? Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 15 Solved: 12[Submit][St ...
- 快学UiAutomator新建第一个测试工程
1.打开Eclipse 2.新建一个java项目,包 3.增加build path,加载需要的库文件jar包 4.新建测试类,继承UIAutomatorTestCase 5.编写测试用例,方法名必须t ...
- CPP-基础:strcpy之于C++(
以下对strcpy函数错误的是? char atr1[]="string"; ]; char *str3; char *str4="sting"; A.strc ...