日誌自動備份腳本(日誌截斷、壓縮)

只需要將日誌文件移動到備份目錄下

然後將日誌壓縮打包,並刪除日誌文件

最後重建日誌文件


#!/bin/bash
#
nginx_app=/usr/local/nginx/sbin/nginx
logs_dir=/usr/local/nginx/logs
bak_dir=/tmp/logbak/
date=`date +%Y%m%d`
#
#先將日誌文件移動到備份目錄
cd $logs_dir
echo “moving logs”
mv *.log $bak_dir
sleep 3
#
#重建log文件
echo “rebuild logs”
echo “$nginx_app -s reopen”
$nginx_app -s reopen
#
#打包log文件,並以日期命名
echo “tar log”
cd $bak_dir
tar czf $date.tgz *.log
#
#刪除備份目錄的臨時文件
echo “rm logs”
rm -f *.log
echo “done”


然後添加個計劃任務,比如每天凌晨4點半執行,腳本位置在/root/logbak.sh

crontab -e

30 4 * * * sh /root/logbak.sh




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章