服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 定时备份mysql, 定时切割nginx access log的方法

定时备份mysql, 定时切割nginx access log的方法

2019-11-24 17:58MYSQL教程网 Mysql

定时备份mysql, 定时切割nginx access log的方法,需要的朋友可以参考下。

定时备份mysql 
放入 /etc/cron.hourly/ 

复制代码代码如下:


#!/bin/bash 
DUMP=/usr/local/webserver/mysql/bin/mysqldump 
OUT_DIR=/data1/backup/ 
DB_NAME=数据库名 
DB_USER=数据库用户 
DB_PASS=数据库密码 
#How much days backup most 
DAYS=3 
#12 hours ago 
MINS=720 
#Core of script 
cd $OUT_DIR 
DATE=`date +%Y-%m-%d-%H` 
OUT_SQL="$DATE.sql" 
TAR_SQL="db-$DATE.tar.gz" 
$DUMP --default-character-set=utf8 --opt -u$DB_USER -p$DB_PASS $DB_NAME > $OUT_SQL 
tar -czf $TAR_SQL ./$OUT_SQL 
rm -f $OUT_SQL 

find ./ -name "db*" -type f -mmin +$MINS -exec rm {} \; 
#find ./ -name "db*" -type f -mtime +$DAYS -exec rm {} \; 
exit 0; 


定时切割nginx access.log,只保留3天前的记录 
放入 /etc/cron.hourly/ 

复制代码代码如下:


#!/bin/bash 
# This script run at 00:00 

# The Nginx logs path 
#logs_path="/usr/local/webserver/nginx/logs/" 
logs_path="/data1/logs/" 
#How much days backup most 
DAYS=3 

#Core of script 
cd $logs_path 
DATE=`date +%Y-%m-%d-%H` 
SRC_FILE="access.log" 
TAR_FILE="access-$DATE.tar.gz" 
tar -czf $TAR_FILE $SRC_FILE 
rm -f $SRC_FILE 

find ./ -name "access-*" -type f -mtime +$DAYS -exec rm {} \; 
kill -USR1 `cat /usr/local/webserver/nginx/nginx.pid` 
exit 0; 

延伸 · 阅读

精彩推荐