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

时间:2021-12-18 08:06:16

定时备份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;